diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,2 +1,5 @@
+# 0.5.0
+* Update the "list-t" and "monad-control" deps
+
 # 0.4.1
 * Fix the transaction conflicts bug
diff --git a/hasql.cabal b/hasql.cabal
--- a/hasql.cabal
+++ b/hasql.cabal
@@ -1,7 +1,7 @@
 name:
   hasql
 version:
-  0.4.1
+  0.5.0
 synopsis:
   A minimalistic general high level API for relational databases
 description:
@@ -111,9 +111,9 @@
     placeholders == 0.1.*,
     -- general:
     safe == 0.3.*,
-    list-t >= 0.3 && < 0.4,
+    list-t >= 0.4 && < 0.5,
     mmorph == 1.0.*,
-    monad-control == 0.3.*,
+    monad-control == 1.0.*,
     transformers-base == 0.4.*,
     transformers >= 0.3 && < 0.5,
     base-prelude >= 0.1.3 && < 0.2,
@@ -165,7 +165,7 @@
   build-depends:
     -- 
     hasql,
-    hasql-postgres == 0.8.*,
+    hasql-postgres == 0.9.*,
     -- 
     slave-thread == 0.1.*,
     -- 
@@ -197,7 +197,7 @@
     Haskell2010
   build-depends:
     hasql,
-    hasql-postgres == 0.8.*,
+    hasql-postgres == 0.9.*,
     transformers >= 0.3 && < 0.5,
     base >= 4.5 && < 4.8
 
diff --git a/library/Hasql.hs b/library/Hasql.hs
--- a/library/Hasql.hs
+++ b/library/Hasql.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE UndecidableInstances #-}
 -- |
 -- This is the API of the \"hasql\" library.
 -- For an introduction to the package 
@@ -77,19 +78,19 @@
   deriving (Functor, Applicative, Monad, MonadTrans, MonadIO)
 
 instance MonadTransControl (Session b s) where
-  newtype StT (Session b s) a = SessionStT a
+  type StT (Session b s) a = a
   liftWith onRunner =
-    Session $ ReaderT $ \e -> onRunner $ \(Session (ReaderT f)) -> liftM SessionStT $ f e
+    Session $ ReaderT $ \e -> onRunner $ \(Session (ReaderT f)) -> f e
   restoreT = 
-    Session . ReaderT . const . liftM (\(SessionStT a) -> a)
+    Session . ReaderT . const
 
 instance (MonadBase IO m) => MonadBase IO (Session b s m) where
   liftBase = Session . liftBase
 
 instance (MonadBaseControl IO m) => MonadBaseControl IO (Session b s m) where
-  newtype StM (Session b s m) a = SessionStM (ComposeSt (Session b s) m a)
-  liftBaseWith = defaultLiftBaseWith SessionStM
-  restoreM = defaultRestoreM $ \(SessionStM x) -> x
+  type StM (Session b s m) a = ComposeSt (Session b s) m a
+  liftBaseWith = defaultLiftBaseWith
+  restoreM = defaultRestoreM
 
 
 -- |
diff --git a/library/Hasql/Prelude.hs b/library/Hasql/Prelude.hs
--- a/library/Hasql/Prelude.hs
+++ b/library/Hasql/Prelude.hs
@@ -25,7 +25,7 @@
 
 -- monad-control
 -------------------------
-import Control.Monad.Trans.Control as Exports
+import Control.Monad.Trans.Control as Exports hiding (embed, embed_)
 
 -- transformers-base
 -------------------------
