diff --git a/Control/Monad/ST/Class.hs b/Control/Monad/ST/Class.hs
--- a/Control/Monad/ST/Class.hs
+++ b/Control/Monad/ST/Class.hs
@@ -25,6 +25,10 @@
 	type StateThread (ST s) = s
 	liftST m = m
 
+instance MonadST IO where
+	type StateThread IO = RealWorld
+	liftST = stToIO
+
 instance (MonadST m, MonadTrans t, Monad m) => MonadST (t m) where
 	type StateThread (t m) = StateThread m
 	liftST = lift . liftST
diff --git a/stateful-mtl.cabal b/stateful-mtl.cabal
--- a/stateful-mtl.cabal
+++ b/stateful-mtl.cabal
@@ -1,5 +1,5 @@
 name:		stateful-mtl
-version:	1.0.5
+version:	1.0.6
 synopsis:	Stateful monad transformers with pure evaluation semantics.
 description:	Stateful monad transformers with pure evaluation semantics, useful for monadically pulling out implementation details of array manipulation and operations in the ST monad.  Includes typeclasses suitable for guaranteeing single-threaded monad behavior, avoiding previously encountered problems with ST monad transformers.  This package remains in a state of flux, so please notify the author about features you like or dislike.
 tested-with:	GHC
