Block-I/O in Haskell