diff --git a/acquire.cabal b/acquire.cabal
--- a/acquire.cabal
+++ b/acquire.cabal
@@ -1,7 +1,7 @@
 name:
   acquire
 version:
-  0.3
+  0.3.1
 synopsis:
   Abstraction over management of resources
 description:
diff --git a/library/Acquire.hs b/library/Acquire.hs
--- a/library/Acquire.hs
+++ b/library/Acquire.hs
@@ -27,18 +27,18 @@
 
 Implementation of http://www.haskellforall.com/2013/06/the-resource-applicative.html
 -}
-newtype Acquire resource =
-  Acquire (IO (resource, IO ()))
+newtype Acquire env =
+  Acquire (IO (env, IO ()))
 
 instance Functor Acquire where
   fmap f (Acquire io) =
     Acquire $ do
-      (resource, release) <- io
-      return (f resource, release)
+      (env, release) <- io
+      return (f env, release)
 
 instance Applicative Acquire where
-  pure resource =
-    Acquire (pure (resource, pure ()))
+  pure env =
+    Acquire (pure (env, pure ()))
   Acquire io1 <*> Acquire io2 =
     Acquire $ do
       (f, release1) <- io1
@@ -65,7 +65,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)
+  deriving (Functor, Applicative, Alternative, Monad, MonadPlus, MonadIO)
 
 instance Bifunctor (Use env) where
   first = mapErr
