[Haskell-cafe] IO monads, stream handles, and type inference