Re-arrange.
Support iterating over iterators.
Update docs.