diff --git a/Control/Monad/Representable/Reader.hs b/Control/Monad/Representable/Reader.hs
--- a/Control/Monad/Representable/Reader.hs
+++ b/Control/Monad/Representable/Reader.hs
@@ -78,10 +78,13 @@
   return = ReaderT . pure . return
   ReaderT fm >>= f = ReaderT $ tabulate (\a -> index fm a >>= flip index a . getReaderT . f)
 
+
 instance (Representable f, Monad m, Key f ~ e) => MonadReader e (ReaderT f m) where
   ask = ReaderT (tabulate return)
   local f m = readerT $ \r -> runReaderT m (f r)
+#if MIN_VERSION_transformers(0,3,0)
   reader = readerT . fmap return
+#endif
 
 instance Representable f => MonadTrans (ReaderT f) where
   lift = ReaderT . pure
diff --git a/Control/Monad/Representable/State.hs b/Control/Monad/Representable/State.hs
--- a/Control/Monad/Representable/State.hs
+++ b/Control/Monad/Representable/State.hs
@@ -1,9 +1,10 @@
-{-# LANGUAGE TypeFamilies
-           , TypeSynonymInstances
-           , FlexibleContexts
-           , FlexibleInstances
-           , MultiParamTypeClasses
-           , UndecidableInstances #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE UndecidableInstances #-}
 ----------------------------------------------------------------------
 -- |
 -- Module      :  Control.Monad.Representable.State
@@ -159,7 +160,9 @@
 instance (Representable g, Monad m, Key g ~ s) => MonadState s (StateT g m) where
   get = stateT $ \s -> return (s, s)
   put s = StateT $ pure $ return ((),s)
+#if MIN_VERSION_transformers(0,3,0)
   state f = stateT (return . f)
+#endif
 
 -- get :: (Representable g, Monad m) => StateT g m (Key g)
 -- put :: (Applicative g, Monad m) => Key g -> StateT g m ()
diff --git a/representable-functors.cabal b/representable-functors.cabal
--- a/representable-functors.cabal
+++ b/representable-functors.cabal
@@ -1,6 +1,6 @@
 name:          representable-functors
 category:      Monads, Functors, Data Structures
-version:       2.2
+version:       2.2.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -29,7 +29,7 @@
     TypeSynonymInstances
     UndecidableInstances
 
-  build-depends: 
+  build-depends:
     array                >= 0.3.0.2 && < 0.5,
     base                 >= 4       && < 5,
     comonad              >= 1.1.1.3 && < 1.2,
@@ -39,7 +39,7 @@
     mtl                  >= 2.0.1.0 && < 2.2,
     semigroups           >= 0.8.2   && < 0.9,
     semigroupoids        >= 1.3     && < 1.4,
-    transformers         >= 0.3     && < 0.4,
+    transformers         >= 0.2     && < 0.4,
     keys                 >= 2.1.3   && < 2.2,
     free                 >= 2.1     && < 2.2,
     comonad-transformers >= 2.1     && < 2.2,
