diff --git a/Control/Monad/Exception/Base.hs b/Control/Monad/Exception/Base.hs
--- a/Control/Monad/Exception/Base.hs
+++ b/Control/Monad/Exception/Base.hs
@@ -96,14 +96,14 @@
     liftBase = liftBaseDefault
 
 instance MonadBaseControl b m => MonadBaseControl b (EMT l m) where
-     newtype StM (EMT l m) a = StmEMT {unStmEMT :: ComposeSt (EMT l) m a}
-     liftBaseWith = defaultLiftBaseWith StmEMT
-     restoreM     = defaultRestoreM   unStmEMT
+     type StM (EMT l m) a = ComposeSt (EMT l) m a
+     liftBaseWith = defaultLiftBaseWith
+     restoreM     = defaultRestoreM
 
 instance MonadTransControl (EMT l) where
-     newtype StT (EMT l) a = StEMT {unStEMT :: Either (CallTrace, CheckedException l) a}
-     liftWith f = EMT $ liftM return $ f $ liftM StEMT . unEMT
-     restoreT       = EMT . liftM unStEMT
+     type StT (EMT l) a = Either (CallTrace, CheckedException l) a
+     liftWith f = EMT $ liftM return $ f unEMT
+     restoreT       = EMT
 
 instance Monad m => MonadLoc (EMT l m) where
     withLoc loc (EMT emt) = EMT $ do
diff --git a/control-monad-exception.cabal b/control-monad-exception.cabal
--- a/control-monad-exception.cabal
+++ b/control-monad-exception.cabal
@@ -1,8 +1,8 @@
 name: control-monad-exception
-version: 0.11.1
+version: 0.11.2
 Cabal-Version:  >= 1.10
 build-type: Simple
-license: PublicDomain
+license: MIT
 author: Pepe Iborra
 maintainer: pepeiborra@gmail.com
 homepage: http://pepeiborra.github.com/control-monad-exception
@@ -82,7 +82,7 @@
                , transformers >= 0.2
                , transformers-base >= 0.4.1
                , monadloc >= 0.7
-               , monad-control >= 0.3
+               , monad-control >= 1.0
                , lifted-base >= 0.2.1
 
   if flag(extensibleExceptions)
