Hi, The unsafeIOToST definition in the ghc-5.00.2 libs doesn't appear to achieve the following, unsafeIOToST :: IO a -> ST s a unsafeIOToST (IO io) = ST $ \ s -> (unsafeCoerce# io) s Rahul