diff --git a/Control/Concurrent/Consistent.hs b/Control/Concurrent/Consistent.hs
--- a/Control/Concurrent/Consistent.hs
+++ b/Control/Concurrent/Consistent.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE UndecidableInstances #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-binds #-}
 
@@ -49,12 +50,11 @@
     liftBase b = ConsistentT $ liftBase b
 
 instance MonadBaseControl IO m => MonadBaseControl IO (ConsistentT m) where
-    newtype StM (ConsistentT m) a =
-        StMConsistentT (StM (ReaderT ConsistentState m) a)
-    liftBaseWith f =
-        ConsistentT $ liftBaseWith $ \runInBase -> f $ \k ->
-            liftM StMConsistentT $ runInBase $ getConsistentT k
-    restoreM (StMConsistentT m) = ConsistentT . restoreM $ m
+    type StM (ConsistentT m) a =
+        StM (ReaderT ConsistentState m) a
+    liftBaseWith f = ConsistentT $ liftBaseWith $ \runInBase ->
+        f $ \k -> runInBase $ getConsistentT k
+    restoreM = ConsistentT . restoreM
 
 newtype CTMT m a = CTMT (WriterT [STM (Maybe (STM ()))] (ConsistentT m) a)
     deriving (Functor, Applicative, Monad, MonadIO)
diff --git a/consistent.cabal b/consistent.cabal
--- a/consistent.cabal
+++ b/consistent.cabal
@@ -1,5 +1,5 @@
 Name:                consistent
-Version:             0.0.1
+Version:             0.1.0
 Synopsis:            Eventually consistent STM transactions.
 License-file:        LICENSE
 License:             MIT
@@ -10,10 +10,10 @@
 Category:            System
 Description:
   Eventually consistent STM transactions.
-  \
+  .
   Consistent provides eventually consistent atomic transactions, by delaying
   updates until no threads is mutating a shared variable.
-  \
+  .
   This comes at a cost of having a separate TVar for every thread, but has the
   advantage that no thread will ever lock or retry except for the manager actor
   responsible for performing the updates.
@@ -26,10 +26,10 @@
     default-language:   Haskell98
     ghc-options: -Wall
     build-depends:
-        base                 >= 3 && < 5
-      , monad-control        >= 0.3.2.3
-      , transformers         >= 0.3.0.0
-      , transformers-base    >= 0.4.1
+        base                 >= 4.9 && < 4.10
+      , monad-control        >= 1.0.1
+      , transformers         >= 0.5
+      , transformers-base    >= 0.4
       , lifted-base          >= 0.2.2.0
       , lifted-async         >= 0.1.1
       , unordered-containers >= 0.2.3.0
@@ -46,5 +46,5 @@
     build-depends:
         base
       , consistent
-      , transformers         >= 0.3.0.0
+      , transformers         >= 0.4
       , lifted-async         >= 0.1.1
diff --git a/test/main.hs b/test/main.hs
--- a/test/main.hs
+++ b/test/main.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE FlexibleContexts #-}
+
 module Main where
 
 import Control.Concurrent
