Mirroring the collection protocols, streams support a mirror of that interface (do:, select:, collect:, reject:). The difference is that where collections would answer other collections, streams return corresponding streams.