diff --git a/Control/Monad/Ref.hs b/Control/Monad/Ref.hs
--- a/Control/Monad/Ref.hs
+++ b/Control/Monad/Ref.hs
@@ -27,12 +27,16 @@
                                     writeTVar)
 import Control.Monad.ST (ST)
 import Control.Monad.Trans.Cont (ContT)
+#if !MIN_VERSION_transformers(0,6,0)
 import Control.Monad.Trans.Error (ErrorT, Error)
+#endif /* !MIN_VERSION_transformers(0,6,0) */
 #if MIN_VERSION_transformers(0,4,0)
 import Control.Monad.Trans.Except (ExceptT)
 #endif /* MIN_VERSION_transformers(0,4,0) */
 import Control.Monad.Trans.Identity (IdentityT)
+#if !MIN_VERSION_transformers(0,6,0)
 import Control.Monad.Trans.List (ListT)
+#endif /* !MIN_VERSION_transformers(0,6,0) */
 import Control.Monad.Trans.Maybe (MaybeT)
 import Control.Monad.Trans.Reader (ReaderT)
 import Control.Monad.Trans.State.Lazy as Lazy (StateT)
@@ -120,12 +124,14 @@
     modifyRef  r f = lift $ modifyRef  r f
     modifyRef' r f = lift $ modifyRef' r f
 
+#if !MIN_VERSION_transformers(0,6,0)
 instance (Error e, MonadRef r m) => MonadRef r (ErrorT e m) where
     newRef     r   = lift $ newRef     r
     readRef    r   = lift $ readRef    r
     writeRef   r x = lift $ writeRef   r x
     modifyRef  r f = lift $ modifyRef  r f
     modifyRef' r f = lift $ modifyRef' r f
+#endif /* !MIN_VERSION_transformers(0,6,0) */
 
 #if MIN_VERSION_transformers(0,4,0)
 instance (MonadRef r m) => MonadRef r (ExceptT e m) where
@@ -143,12 +149,14 @@
     modifyRef  r f = lift $ modifyRef  r f
     modifyRef' r f = lift $ modifyRef' r f
 
+#if !MIN_VERSION_transformers(0,6,0)
 instance MonadRef r m => MonadRef r (ListT m) where
     newRef     r   = lift $ newRef     r
     readRef    r   = lift $ readRef    r
     writeRef   r x = lift $ writeRef   r x
     modifyRef  r f = lift $ modifyRef  r f
     modifyRef' r f = lift $ modifyRef' r f
+#endif /* !MIN_VERSION_transformers(0,6,0) */
 
 instance MonadRef r m => MonadRef r (MaybeT m) where
     newRef     r   = lift $ newRef     r
@@ -222,17 +230,21 @@
     atomicModifyRef  r f = lift $ atomicModifyRef  r f
     atomicModifyRef' r f = lift $ atomicModifyRef' r f
 
+#if !MIN_VERSION_transformers(0,6,0)
 instance (Error e, MonadAtomicRef r m) => MonadAtomicRef r (ErrorT e m) where
     atomicModifyRef  r f = lift $ atomicModifyRef  r f
     atomicModifyRef' r f = lift $ atomicModifyRef' r f
+#endif /* !MIN_VERSION_transformers(0,6,0) */
 
 instance MonadAtomicRef r m => MonadAtomicRef r (IdentityT m) where
     atomicModifyRef  r f = lift $ atomicModifyRef  r f
     atomicModifyRef' r f = lift $ atomicModifyRef' r f
 
+#if !MIN_VERSION_transformers(0,6,0)
 instance MonadAtomicRef r m => MonadAtomicRef r (ListT m) where
     atomicModifyRef  r f = lift $ atomicModifyRef  r f
     atomicModifyRef' r f = lift $ atomicModifyRef' r f
+#endif /* !MIN_VERSION_transformers(0,6,0) */
 
 instance MonadAtomicRef r m => MonadAtomicRef r (MaybeT m) where
     atomicModifyRef  r f = lift $ atomicModifyRef  r f
diff --git a/ref-fd.cabal b/ref-fd.cabal
--- a/ref-fd.cabal
+++ b/ref-fd.cabal
@@ -1,5 +1,5 @@
 name:           ref-fd
-version:        0.5
+version:        0.5.0.1
 cabal-version:  >= 1.10
 license:        BSD3
 license-file:   LICENSE
@@ -15,9 +15,9 @@
 description:    Contains a 'MonadRef' type class that abstracts over the
                 details of manipulating references, allowing one to write code
                 that can operate in either the ST monad or the IO monad.
-tested-with:    GHC==7.4.2, GHC==7.6.3, GHC==7.8.3, GHC==7.10.3, GHC==8.0.2,
-                GHC==8.2.2, GHC==8.4.3, GHC==8.6.5, GHC==8.8.4, GHC==8.10.4,
-                GHC==9.0.1
+tested-with:    GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2,
+                GHC==8.2.2, GHC==8.4.3, GHC==8.6.5, GHC==8.8.4, GHC==8.10.7,
+                GHC==9.0.2, GHC==9.2.2, GHC==9.4.4, GHC==9.6.1
 
 build-type:     Simple
 
@@ -30,7 +30,7 @@
   build-depends:
     base         >= 4   && < 5,
     stm          >= 2.1 && < 2.6,
-    transformers >= 0.2 && < 0.6
+    transformers >= 0.2 && < 0.7
 
 source-repository head
   type:     git
