diff --git a/Control/Monad/Exception.hs b/Control/Monad/Exception.hs
--- a/Control/Monad/Exception.hs
+++ b/Control/Monad/Exception.hs
@@ -5,8 +5,8 @@
 {-# LANGUAGE OverlappingInstances #-}
 
 module Control.Monad.Exception (
-    EM,  runEM,
-    EMT(..), evalEMT, runEMT, runEMTParanoid,
+    EM,  evalEM, runEM, runEMParanoid,
+    EMT, evalEMT, runEMT, runEMTParanoid,
     MonadZeroException(..),
     module Control.Monad.Exception.Class ) where
 
@@ -38,15 +38,25 @@
 mapLeft _ (Right x) = Right x
 
 -- | Run a safe computation
+evalEM :: EM (AnyException l) a -> Either SomeException a
+evalEM = runIdentity . evalEMT
+
+-- | Run a safe computation
 runEM :: EM NoExceptions a -> a
 runEM = runIdentity . runEMT
 
+-- | Run a safe computation
+runEMParanoid :: EM ParanoidMode a -> a
+runEMParanoid = runIdentity . runEMTParanoid
+
 data MonadZeroException = MonadZeroException deriving (Show, Typeable)
 instance Exception MonadZeroException
 
 newtype EMT l m a = EMT {unEMT :: m (Either (WrapException l) a)}
 
-evalEMT :: Monad m => EMT (Caught SomeException l) m a -> m (Either SomeException a)
+type AnyException = Caught SomeException
+
+evalEMT :: Monad m => EMT (AnyException l) m a -> m (Either SomeException a)
 evalEMT (EMT m) = mapLeft wrapException `liftM` m
 
 runEMT_gen :: Monad m => EMT l m a -> m a
diff --git a/control-monad-exception.cabal b/control-monad-exception.cabal
--- a/control-monad-exception.cabal
+++ b/control-monad-exception.cabal
@@ -1,5 +1,5 @@
 name: control-monad-exception
-version: 0.3
+version: 0.3.1
 Cabal-Version:  >= 1.2.3
 build-type: Simple
 license: PublicDomain
