Dear libraries at ..., Shouldn't Control.Monad.ST export ioToST :: IO a -> ST RealWorld a, as defined in GHC.IO? Hugs for some reason does not have it, but it would seem trivial to write, given their stToIO: stToIO :: ST RealWorld a -> IO a stToIO (ST f) = IO f It doesn't look like anyone else even *has* ST...