diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.1.1.0
+
+* Add `MonadResource` instances
+
 ## 0.1.0.0
 
 * Initial release
diff --git a/Control/Monad/Trans/RWS/Ref.hs b/Control/Monad/Trans/RWS/Ref.hs
--- a/Control/Monad/Trans/RWS/Ref.hs
+++ b/Control/Monad/Trans/RWS/Ref.hs
@@ -32,6 +32,7 @@
 import           Control.Monad.Trans.Control (defaultLiftBaseWith,
                                               defaultRestoreM)
 import           Control.Monad.Trans.Unlift
+import           Control.Monad.Trans.Resource (MonadResource (..))
 import           Data.Monoid                 (Monoid, mappend, mempty)
 import           Data.Mutable                (IORef, MCState, MutableRef,
                                               PrimMonad, PrimState, RealWorld,
@@ -214,3 +215,7 @@
       where q :: (m a -> m a) -> RWSRefT refw refs r w s m a -> RWSRefT refw refs r w s m a
             q u (RWSRefT b) = RWSRefT (\r w s -> u (b r w s))
   {-# INLINE uninterruptibleMask #-}
+
+instance MonadResource m => MonadResource (RWSRefT refw refs r w s m) where
+    liftResourceT = lift . liftResourceT
+    {-# INLINE liftResourceT #-}
diff --git a/Control/Monad/Trans/State/Ref.hs b/Control/Monad/Trans/State/Ref.hs
--- a/Control/Monad/Trans/State/Ref.hs
+++ b/Control/Monad/Trans/State/Ref.hs
@@ -26,6 +26,7 @@
 import           Control.Monad.Trans.Control (defaultLiftBaseWith,
                                               defaultRestoreM)
 import           Control.Monad.Trans.Unlift
+import           Control.Monad.Trans.Resource (MonadResource (..))
 import           Data.Mutable                (IORef, MCState, MutableRef,
                                               PrimMonad, PrimState, RealWorld,
                                               RefElement, STRef, newRef,
@@ -155,3 +156,7 @@
       where q :: (m a -> m a) -> StateRefT ref s m a -> StateRefT ref s m a
             q u (StateRefT b) = StateRefT (u . b)
   {-# INLINE uninterruptibleMask #-}
+
+instance MonadResource m => MonadResource (StateRefT ref s m) where
+    liftResourceT = lift . liftResourceT
+    {-# INLINE liftResourceT #-}
diff --git a/Control/Monad/Trans/Writer/Ref.hs b/Control/Monad/Trans/Writer/Ref.hs
--- a/Control/Monad/Trans/Writer/Ref.hs
+++ b/Control/Monad/Trans/Writer/Ref.hs
@@ -30,6 +30,7 @@
 import           Control.Monad.Trans.Control (defaultLiftBaseWith,
                                               defaultRestoreM)
 import           Control.Monad.Trans.Unlift
+import           Control.Monad.Trans.Resource (MonadResource (..))
 import           Control.Monad.Writer.Class
 import           Data.Monoid                 (Monoid, mappend, mempty)
 import           Data.Mutable                (IORef, MCState, MutableRef,
@@ -174,3 +175,7 @@
       where q :: (m a -> m a) -> WriterRefT ref w m a -> WriterRefT ref w m a
             q u (WriterRefT b) = WriterRefT (u . b)
   {-# INLINE uninterruptibleMask #-}
+
+instance MonadResource m => MonadResource (WriterRefT ref w m) where
+    liftResourceT = lift . liftResourceT
+    {-# INLINE liftResourceT #-}
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -18,8 +18,7 @@
 myFunc :: RWSRefT
     -- The WriterT piece is contained by an IORef
     IORef
-    -- For efficiency, we store the state in a primitive
-    -- reference for efficiency
+    -- For efficiency, we store the state in a primitive reference
     (PRef RealWorld)
     SomeEnv   -- Reader
     [String]  -- Writer
@@ -199,7 +198,7 @@
 instance.
 
 To address this case, this package includes variants of those transformers that
-use mutable references. These reference are generic using the
+use mutable references. These references are generic using the
 [mutable-containers](http://www.stackage.org/package/mutable-containers)
 package, which allows you to have highly efficient references like `PRef`
 instead of always using boxed references like `IORef`.
@@ -223,7 +222,7 @@
 
 Both the `HandlerT` transformer from yesod-core and `LoggingT`/`NoLoggingT` are
 valid monad morphisms. `HandlerT` is in fact my first example of using the
-"enviornment holding a mutable reference" technique to overcome exceptions
+"environment holding a mutable reference" technique to overcome exceptions
 destroying state.
 
 ```haskell
diff --git a/monad-unlift.cabal b/monad-unlift.cabal
--- a/monad-unlift.cabal
+++ b/monad-unlift.cabal
@@ -1,5 +1,5 @@
 name:                monad-unlift
-version:             0.1.0.1
+version:             0.1.1.0
 synopsis:            Typeclasses for representing monad transformer unlifting
 description:         See README.md
 homepage:            https://github.com/fpco/monad-unlift
@@ -27,4 +27,5 @@
                      , exceptions >= 0.6
                      , stm
                      , constraints
+                     , resourcet
   default-language:    Haskell2010
