I have to say this looks like a really convenient library!<p>Aside: As a Haskell beginner, I find it astonishing that 1-letter names are the norm in Haskell-land. To me, names are not just placeholders imposed on you by the language, they should convey meaning, too!
Well, at least the monad abuse uses a real monad, but why not just use lens (<a href="http://lens.github.com/" rel="nofollow">http://lens.github.com/</a>)?
Io-streams looks nice, but I think I'll stay with pipes. Along with pipes-safe, it lets you for instance open resources safely inside your stream, which is a very convenient feature at times.