diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/src/Control/Monad/Trans/Except/Exit.hs b/src/Control/Monad/Trans/Except/Exit.hs
--- a/src/Control/Monad/Trans/Except/Exit.hs
+++ b/src/Control/Monad/Trans/Except/Exit.hs
@@ -3,17 +3,11 @@
   , orDieWithCode
   ) where
 
-import           Control.Applicative (pure)
-import           Control.Monad ((>>=), (>>))
-
-import           Data.Either (either)
-import           Data.Function ((.))
-import           Data.Int (Int)
 import           Data.Text (Text)
 import qualified Data.Text as T
 
 import           System.Exit (ExitCode(..), exitWith)
-import           System.IO (IO, stderr, hPutStrLn)
+import           System.IO (stderr, hPutStrLn)
 
 import           Control.Monad.Trans.Except (ExceptT, runExceptT)
 
diff --git a/src/Control/Monad/Trans/Except/Extra.hs b/src/Control/Monad/Trans/Except/Extra.hs
--- a/src/Control/Monad/Trans/Except/Extra.hs
+++ b/src/Control/Monad/Trans/Except/Extra.hs
@@ -42,6 +42,8 @@
 
   , bracketExceptT
   , bracketExceptionT
+
+  , hushM
   ) where
 
 import           Control.Exception (Exception, IOException, SomeException)
@@ -53,7 +55,7 @@
 import           Control.Monad.Trans.Class (lift)
 import           Control.Monad.Trans.Except
 
-import           Data.Maybe (Maybe, maybe)
+import           Data.Maybe (Maybe(..), maybe)
 import           Data.Either (Either(..), either)
 import           Data.Foldable (Foldable, foldr)
 import           Data.Function (($), (.), const, id, flip)
@@ -282,3 +284,11 @@
         z <- f a'
         return $ either id (const b) z
 {-# INLINE bracketF #-}
+
+-- | Convert an Either to a Maybe and execute the supplied handler
+-- in the Left case.
+hushM :: Monad m => Either e a -> (e -> m ()) -> m (Maybe a)
+hushM r f = case r of
+  Right a -> return (Just a)
+  Left e -> f e >> return Nothing
+{-# INLINE hushM #-}
diff --git a/transformers-except.cabal b/transformers-except.cabal
--- a/transformers-except.cabal
+++ b/transformers-except.cabal
@@ -1,15 +1,21 @@
+cabal-version:         3.0
 name:                  transformers-except
-version:               0.1.1
-license:               BSD3
+version:               0.1.2
+license:               BSD-3-Clause
 license-file:          LICENSE
 author:                Tim McGilchrist <timmcgil@gmail.com>
 maintainer:            Tim McGilchrist <timmcgil@gmail.com>
 copyright:             (c) 2017 Tim McGilchrist
 synopsis:              An Except monad transformer with 
 category:              System
-cabal-version:         >= 1.8
 build-type:            Simple
-tested-with:           GHC == 8.6.2, GHC == 8.4.4, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3
+tested-with:           GHC == 8.10.5
+                     , GHC == 8.8.4
+                     , GHC == 8.6.5
+                     , GHC == 8.4.4
+                     , GHC == 8.2.2
+                     , GHC == 8.0.2
+
 description:           Extra pieces for working with Except
 homepage:      http://github.com/tmcgilchrist/transformers-either/
 bug-reports:   http://github.com/tmcgilchrist/transformers-either/issues
@@ -26,7 +32,7 @@
 
   ghc-options:
                        -Wall
-
+  default-language:   Haskell98
   hs-source-dirs:
                        src
 
