In v2, iterators are more composable. This will work in the interim. Still need to work out semantics of iteration interleaved with mutation for each individual collection.