[Haskell-cafe] Custom monad using ST