diff --git a/executables/APITests/MapTests.hs b/executables/APITests/MapTests.hs
--- a/executables/APITests/MapTests.hs
+++ b/executables/APITests/MapTests.hs
@@ -3,8 +3,8 @@
 
 import Test.Framework
 import BasePrelude
+import MTLPrelude
 import Data.Hashable
-import STMContainers.Transformers
 import Control.Monad.Free
 import qualified APITests.MapTests.Update as Update
 import qualified STMContainers.Map as STMMap
diff --git a/executables/APITests/MapTests/Update.hs b/executables/APITests/MapTests/Update.hs
--- a/executables/APITests/MapTests/Update.hs
+++ b/executables/APITests/MapTests/Update.hs
@@ -2,7 +2,7 @@
 
 import Test.Framework
 import BasePrelude hiding (insert, delete, update)
-import STMContainers.Transformers
+import MTLPrelude
 import Control.Monad.Free
 import Control.Monad.Free.TH
 
diff --git a/executables/ConcurrentInsertionBench.hs b/executables/ConcurrentInsertionBench.hs
--- a/executables/ConcurrentInsertionBench.hs
+++ b/executables/ConcurrentInsertionBench.hs
@@ -1,5 +1,6 @@
 
-import STMContainers.Prelude
+import BasePrelude
+import Data.Hashable (Hashable)
 import Criterion.Main
 import Control.Monad.Free
 import Control.Monad.Free.TH
diff --git a/executables/ConcurrentTransactionsBench.hs b/executables/ConcurrentTransactionsBench.hs
--- a/executables/ConcurrentTransactionsBench.hs
+++ b/executables/ConcurrentTransactionsBench.hs
@@ -1,6 +1,7 @@
 
-import STMContainers.Prelude
-import STMContainers.Transformers
+import BasePrelude
+import MTLPrelude
+import Data.Hashable (Hashable)
 import Criterion.Main
 import Control.Monad.Free
 import Control.Monad.Free.TH
@@ -158,13 +159,13 @@
 
 elementGenerator :: [a] -> Generator a
 elementGenerator = \case
-  [] -> $bug "Empty list"
+  [] -> error "Empty list"
   l -> (!!) l <$> MWC.uniformR (0, (pred . length) l)
 
 weightedElementGenerator :: [(Int, a)] -> Generator a
 weightedElementGenerator = \case
   [] -> 
-    $bug "Empty list"
+    error "Empty list"
   l -> 
     (flip pick) l <$> MWC.uniformR (1, total)
     where
diff --git a/executables/InsertionBench.hs b/executables/InsertionBench.hs
--- a/executables/InsertionBench.hs
+++ b/executables/InsertionBench.hs
@@ -1,5 +1,5 @@
 
-import STMContainers.Prelude
+import BasePrelude
 import Criterion.Main
 import qualified Data.HashTable.IO as Hashtables
 import qualified Data.HashMap.Strict as UnorderedContainers
diff --git a/executables/STMContainers/Transformers.hs b/executables/STMContainers/Transformers.hs
deleted file mode 100644
--- a/executables/STMContainers/Transformers.hs
+++ /dev/null
@@ -1,11 +0,0 @@
-module STMContainers.Transformers (module Exports) where
-
--- mtl
--------------------------
-import Control.Monad.Identity as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM)
-import Control.Monad.State.Strict as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM)
-import Control.Monad.Reader as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM)
-import Control.Monad.Writer.Strict as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM, Any)
-import Control.Monad.RWS.Strict as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM, Any)
-import Control.Monad.Error as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM)
-import Control.Monad.Trans as Exports
diff --git a/executables/WordArrayTests.hs b/executables/WordArrayTests.hs
--- a/executables/WordArrayTests.hs
+++ b/executables/WordArrayTests.hs
@@ -2,7 +2,7 @@
 
 import Test.Framework
 import STMContainers.Prelude
-import STMContainers.Transformers
+import MTLPrelude
 import qualified STMContainers.WordArray as WordArray
 import qualified Focus
 import qualified WordArrayTests.Update as Update
diff --git a/executables/WordArrayTests/Update.hs b/executables/WordArrayTests/Update.hs
--- a/executables/WordArrayTests/Update.hs
+++ b/executables/WordArrayTests/Update.hs
@@ -2,7 +2,7 @@
 
 import Test.Framework
 import STMContainers.Prelude
-import STMContainers.Transformers
+import MTLPrelude
 import Control.Monad.Free
 import Control.Monad.Free.TH
 import qualified STMContainers.WordArray as WordArray
diff --git a/stm-containers.cabal b/stm-containers.cabal
--- a/stm-containers.cabal
+++ b/stm-containers.cabal
@@ -1,7 +1,7 @@
 name:
   stm-containers
 version:
-  0.2.2
+  0.2.3
 synopsis:
   Containers for STM
 description:
@@ -65,7 +65,7 @@
     -- control:
     list-t >= 0.2.4 && < 0.3,
     focus >= 0.1.2 && < 0.2,
-    transformers >= 0.3 && < 0.5,
+    transformers >= 0.2 && < 0.5,
     -- debugging:
     loch-th == 0.2.*,
     placeholders == 0.1.*,
@@ -88,12 +88,11 @@
     WordArrayTests.hs
   other-modules:
     WordArrayTests.Update
-    STMContainers.Transformers
   build-depends:
     -- testing:
     free >= 4.6 && < 4.10,
     mtl == 2.*,
-    QuickCheck == 2.7.*,
+    QuickCheck >= 2.6 && < 2.8,
     HTF == 0.12.*,
     -- data:
     hashable < 1.3,
@@ -106,6 +105,7 @@
     placeholders == 0.1.*,
     -- general:
     primitive == 0.5.*,
+    mtl-prelude < 3,
     base-prelude == 0.1.*
   default-extensions:
     Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
@@ -123,7 +123,6 @@
   other-modules:
     APITests.MapTests
     APITests.MapTests.Update
-    STMContainers.Transformers
   build-depends:
     QuickCheck == 2.7.*,
     HTF == 0.12.*,
@@ -139,6 +138,8 @@
     free >= 4.6 && < 4.10,
     mtl == 2.*,
     hashable < 1.3,
+    mtl-prelude < 3,
+    base-prelude == 0.1.*,
     base >= 4.5 && < 4.8
   default-extensions:
     Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
@@ -153,8 +154,6 @@
     executables
   main-is:
     InsertionBench.hs
-  other-modules:
-    STMContainers.Transformers
   ghc-options:
     -O2 -threaded "-with-rtsopts=-N"
   default-extensions:
@@ -166,7 +165,7 @@
     mwc-random-monad == 0.7.*,
     criterion == 0.8.*,
     -- data:
-    text < 1.2,
+    text < 1.3,
     list-t >= 0.2.4 && < 0.3,
     focus >= 0.1.2 && < 0.2,
     hashable < 1.3,
@@ -178,6 +177,7 @@
     loch-th == 0.2.*,
     placeholders == 0.1.*,
     -- general:
+    base-prelude == 0.1.*,
     base >= 4.5 && < 4.8
 
 
@@ -188,8 +188,6 @@
     executables
   main-is:
     ConcurrentInsertionBench.hs
-  other-modules:
-    STMContainers.Transformers
   ghc-options:
     -O2 -threaded "-with-rtsopts=-N"
   default-extensions:
@@ -201,7 +199,7 @@
     mwc-random == 0.13.*,
     mwc-random-monad == 0.7.*,
     -- data:
-    text < 1.2,
+    text < 1.3,
     list-t >= 0.2.4 && < 0.3,
     focus >= 0.1.2 && < 0.2,
     unordered-containers == 0.2.*,
@@ -213,6 +211,7 @@
     -- general:
     free >= 4.5 && < 4.10,
     async == 2.0.*,
+    base-prelude == 0.1.*,
     base >= 4.5 && < 4.8
 
 
@@ -223,8 +222,6 @@
     executables
   main-is:
     ConcurrentTransactionsBench.hs
-  other-modules:
-    STMContainers.Transformers
   ghc-options:
     -O2 -threaded "-with-rtsopts=-N"
   default-extensions:
@@ -237,7 +234,7 @@
     mwc-random-monad == 0.7.*,
     -- data:
     containers >= 0.5.2 && < 0.6,
-    text < 1.2,
+    text < 1.3,
     list-t >= 0.2.4 && < 0.3,
     focus >= 0.1.2 && < 0.2,
     unordered-containers == 0.2.*,
@@ -250,4 +247,6 @@
     mtl == 2.*,
     free >= 4.5 && < 4.10,
     async == 2.0.*,
+    mtl-prelude < 3,
+    base-prelude == 0.1.*,
     base >= 4.5 && < 4.8
