diff --git a/explicit-exception.cabal b/explicit-exception.cabal
--- a/explicit-exception.cabal
+++ b/explicit-exception.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:    2.2
 Name:             explicit-exception
-Version:          0.1.10.1
+Version:          0.2
 License:          BSD-3-Clause
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -31,7 +31,7 @@
    .
    See also: @unexceptionalio@
 Tested-With:       GHC==7.4.2, GHC==7.6.3, GHC==7.8.4
-Tested-With:       GHC==8.0.2, GHC==8.4.1
+Tested-With:       GHC==8.0.2, GHC==8.4.1, GHC==9.6.0
 Build-Type:        Simple
 
 Source-Repository head
@@ -41,19 +41,16 @@
 Source-Repository this
   type:     darcs
   location: https://hub.darcs.net/thielema/explicit-exception/
-  tag:      0.1.10.1
+  tag:      0.2
 
 Flag buildTests
   description: Build executables that demonstrate some space leaks
   default:     False
 
-Flag splitBase
-  description: Choose the smaller, split-up base package from version 2 on.
 
-
 Library
   Build-Depends:
-    transformers >=0.2 && <0.6,
+    transformers >=0.2 && <0.7,
     semigroups >=0.1 && <1.0,
     deepseq >=1.1 && <1.5
   If impl(jhc)
@@ -61,12 +58,7 @@
       applicative >=1.0 && <1.1,
       base >= 1 && <2
   Else
-    If flag(splitBase)
-      Build-Depends: base >= 2 && <5
-    Else
-      Build-Depends:
-        special-functors >=1.0 && <1.1,
-        base >= 1 && <2
+    Build-Depends: base >= 2 && <5
 
   GHC-Options:      -Wall
   Hs-Source-Dirs:   src
diff --git a/src/Control/Monad/Exception/Synchronous.hs b/src/Control/Monad/Exception/Synchronous.hs
--- a/src/Control/Monad/Exception/Synchronous.hs
+++ b/src/Control/Monad/Exception/Synchronous.hs
@@ -52,7 +52,6 @@
 
    ExceptionalT(..),
    fromMaybeT,    toMaybeT,
-   fromErrorT,    toErrorT,
    fromEitherT,   toEitherT,
    fromExitCodeT, toExitCodeT,
    liftT,
@@ -77,7 +76,6 @@
           {- MonadPlus(mzero, mplus), -})
 import Control.Monad.Fix (MonadFix, mfix, )
 import Control.Monad.Trans.Class (MonadTrans, lift, )
-import Control.Monad.Trans.Error (ErrorT(ErrorT, runErrorT))
 import Control.Monad.Trans.Maybe (MaybeT(MaybeT, runMaybeT))
 import Control.DeepSeq (NFData, rnf, )
 import Data.Functor (Functor, fmap, )
@@ -262,7 +260,7 @@
                Exception e -> Exception e
 
 instance Monad (Exceptional e) where
-   return = Success
+   return = pure
    x >>= f =
       case x of
          Exception e -> Exception e
@@ -307,12 +305,6 @@
 
 toMaybeT :: Monad m => ExceptionalT e m a -> MaybeT m a
 toMaybeT  =  MaybeT . liftM toMaybe . runExceptionalT
-
-fromErrorT :: Monad m => ErrorT e m a -> ExceptionalT e m a
-fromErrorT  =  fromEitherT . runErrorT
-
-toErrorT :: Monad m => ExceptionalT e m a -> ErrorT e m a
-toErrorT  =  ErrorT . toEitherT
 
 fromEitherT :: Monad m => m (Either e a) -> ExceptionalT e m a
 fromEitherT  =  ExceptionalT . liftM fromEither
diff --git a/src/Control/Monad/Exception/Warning.hs b/src/Control/Monad/Exception/Warning.hs
--- a/src/Control/Monad/Exception/Warning.hs
+++ b/src/Control/Monad/Exception/Warning.hs
@@ -74,7 +74,7 @@
                Warnable e1 y -> Warnable (mplus e0 e1) (g y)
 
 instance Monad (Warnable e) where
-   return = Warnable [] -- [Nothing]?
+   return = pure
    x >>= f =
       case x of
          Warnable e0 y ->
