diff --git a/extensible-effects.cabal b/extensible-effects.cabal
--- a/extensible-effects.cabal
+++ b/extensible-effects.cabal
@@ -6,7 +6,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             2.5.2.0
+version:             2.5.3.0
 
 -- A short (one-line) description of the package.
 synopsis:            An Alternative to Monad Transformers
diff --git a/src/Control/Eff/Exception.hs b/src/Control/Eff/Exception.hs
--- a/src/Control/Eff/Exception.hs
+++ b/src/Control/Eff/Exception.hs
@@ -10,6 +10,7 @@
 module Control.Eff.Exception ( Exc (..)
                             , Fail
                             , throwError
+                            , throwError_
                             , die
                             , runError
                             , runFail
@@ -52,6 +53,13 @@
 throwError :: (Member (Exc e) r) => e -> Eff r a
 throwError e = send (Exc e)
 {-# INLINE throwError #-}
+
+-- | Throw an exception in an effectful computation. The type is unit, 
+--   which suppresses the ghc-mod warning "A do-notation statement 
+--   discarded a result of type"
+throwError_ :: (Member (Exc e) r) => e -> Eff r ()
+throwError_ = throwError
+{-# INLINE throwError_ #-}
 
 -- | Makes an effect fail, preventing future effects from happening.
 die :: Member Fail r => Eff r a
diff --git a/src/Control/Eff/Lift.hs b/src/Control/Eff/Lift.hs
--- a/src/Control/Eff/Lift.hs
+++ b/src/Control/Eff/Lift.hs
@@ -5,6 +5,7 @@
 -- (e.g. Maybe (IO a) is functionally distinct from IO (Maybe a)).
 module Control.Eff.Lift ( Lift (..)
                         , Lifted
+                        , LiftedBase
                         , lift
                         , runLift
                         , catchDynE
@@ -14,8 +15,15 @@
 import qualified Control.Exception as Exc
 import Data.OpenUnion
 
+import Control.Monad.Trans.Control (MonadBaseControl)
+
 -- |A convenient alias to 'SetMember Lift (Lift m) r'
 type Lifted m r = SetMember Lift (Lift m) r
+
+-- |Same as 'Lifted' but with additional 'MonadBaseControl' constraint
+type LiftedBase m r = ( SetMember Lift (Lift m) r
+                      , MonadBaseControl m (Eff r)
+                      )
 
 -- | Catching of dynamic exceptions
 -- See the problem in
