Resumable iterators that save and restore their position
Define an iterator interface that can export its state and be resumed from it later. Implement it for a flat list, then for nested multi-dimensional lists, then across several files, so that a resumed iterator continues exactly where the old one stopped.
No answer yet. Write the first one; the best answer gets endorsed.

