[Haskell-cafe] problem using ST monad