[Haskell-beginners] Is there a simpler way? Building a monad on `IO' Monad