[Haskell-cafe] IterIO type restricted functions