http://www.haskell.org/pipermail/libraries/2006-May/005397.html

ここで、Lazy I/O は良くないとかいう話があるんですが、
理解できない。

saxParse :: String -> [SaxEvent]

このような、入力は良くなくて、

saxParse :: Monad => m Char -> m SaxEvent

がいいらしいのだが、
これで、入力できるでしょうか?

せめて、

saxParse :: Monad => [m Char] -> m SaxEvent

こんな感じじゃないと、無理なような気がするのですが、
解説希望。