We have a lot of "transform a range" types already: llvm::mapped_iterator, swift::TransformRange and swift::TransformIterator, and swift::ArrayRefView for static transformations. This gets rid of one more layer without losing any real functionality.