overload Deque[T](forward ...from: A) to: Deque[T] { initializeDequeMap(to, SizeT(countValues(...A))); var i = to.begin; try { static for (x in ...from) { i^ <-- x; inc(i); } } catch (ex) { destroyDequeValues(to.begin, i); destroyDequeMap(to); throw ex; } }