diff --git a/Control/Monad/Trans/Resource.hs b/Control/Monad/Trans/Resource.hs
--- a/Control/Monad/Trans/Resource.hs
+++ b/Control/Monad/Trans/Resource.hs
@@ -6,6 +6,7 @@
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE ImpredicativeTypes #-}
 #if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE ConstraintKinds #-}
 #endif
@@ -144,10 +145,9 @@
 --
 -- Since 0.3.0
 newtype ResourceT m a = ResourceT { unResourceT :: I.IORef ReleaseMap -> m a }
-
--- | Convenient alias for @ResourceT IO@.
-type ResIO a = ResourceT IO a
-
+#if __GLASGOW_HASKELL__ >= 707
+        deriving Typeable
+#else
 instance Typeable1 m => Typeable1 (ResourceT m) where
     typeOf1 = goType undefined
       where
@@ -161,6 +161,11 @@
 #endif
                 [ typeOf1 m
                 ]
+#endif
+
+-- | Convenient alias for @ResourceT IO@.
+type ResIO a = ResourceT IO a
+
 
 instance MonadCont m => MonadCont (ResourceT m) where
   callCC f = ResourceT $ \i -> callCC $ \c -> unResourceT (f (ResourceT . const . c)) i
diff --git a/resourcet.cabal b/resourcet.cabal
--- a/resourcet.cabal
+++ b/resourcet.cabal
@@ -1,5 +1,5 @@
 Name:                resourcet
-Version:             0.4.7
+Version:             0.4.7.1
 Synopsis:            Deterministic allocation and freeing of scarce resources.
 Description:
 	This package was originally included with the conduit package, and has since been split off. For more information, please see <http://www.yesodweb.com/book/conduits>.
