The default Lazy IO issue has been addressed in pipes-bytestring:
http://www.haskellforall.com/2013/09/perfect-streaming-using...
The pipes ecosystem ( http://www.haskell.org/haskellwiki/Pipes ) is working well to offer {effects, streaming, composability} without the resource leak issues introduced by lazy IO.