I wonder if we can precompose the iterators here. (I'll have to come back to it in a while.)