>>> 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
>>> HashSet.map show (HashSet.fromList [1,2,3]) HashSet.fromList ["1","2","3"]
map (++ "x") (fromList [(5,"a"), (3,"b")]) == fromList [(3, "bx"), (5, "ax")]
map id = cat map (g . f) = map f >-> map g
toList (map f xs) = map f (toList xs)
toNonEmpty (map f xs) = map f (toNonEmpty xs)