How does this compose iterators?