>>> let message = pack "I am not angry. Not at all." >>> T.map (\c -> if c == '.' then '!' else c) message "I am not angry! Not at all!"
unstream . map f . stream = map f
map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn] map f [x1, x2, ...] == [f x1, f x2, ...]
>>> map (+1) [1, 2, 3] [2,3,4]
Streams.map (g . f) === Streams.map f >=> Streams.map g Streams.map id === Streams.makeInputStream . Streams.read