diff --git a/acquire.cabal b/acquire.cabal
--- a/acquire.cabal
+++ b/acquire.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          acquire
-version:       0.3.1.2
+version:       0.3.2
 synopsis:      Abstraction over management of resources
 description:
   An implementation of the abstraction suggested in
@@ -68,4 +68,5 @@
   other-modules:      Acquire.Prelude
   build-depends:
     , base >=4.9 && <5
+    , mtl >=2.3 && <3
     , transformers >=0.5 && <0.8
diff --git a/library/Acquire.hs b/library/Acquire.hs
--- a/library/Acquire.hs
+++ b/library/Acquire.hs
@@ -61,7 +61,7 @@
 -- |
 -- Resource handler, which has a notion of pure errors.
 newtype Use env err res = Use (ReaderT env (ExceptT err IO) res)
-  deriving (Functor, Applicative, Alternative, Monad, MonadPlus, MonadIO)
+  deriving (Functor, Applicative, Alternative, Monad, MonadPlus, MonadIO, MonadError err)
 
 instance Bifunctor (Use env) where
   first = mapErr
diff --git a/library/Acquire/Prelude.hs b/library/Acquire/Prelude.hs
--- a/library/Acquire/Prelude.hs
+++ b/library/Acquire/Prelude.hs
@@ -9,6 +9,7 @@
 import Control.Concurrent as Exports
 import Control.Exception as Exports
 import Control.Monad as Exports hiding (forM, forM_, mapM, mapM_, msum, sequence, sequence_)
+import Control.Monad.Error.Class as Exports
 import Control.Monad.Fix as Exports hiding (fix)
 import Control.Monad.IO.Class as Exports
 import Control.Monad.ST as Exports
