progress towards rewriting Iterator<T> code to use Memory::Optional<> so as to avoid needing T DEFAULT CTOR - incomplete