diff --git a/Control/Monad/Resumption.hs b/Control/Monad/Resumption.hs
--- a/Control/Monad/Resumption.hs
+++ b/Control/Monad/Resumption.hs
@@ -7,6 +7,7 @@
 import Control.Monad.Trans
 import Control.Applicative
 import Control.Monad.IO.Class
+import Control.Monad.Morph
 
 -- | Resumption monad transformer.
 newtype ResT m a = ResT { deResT :: m (Either a (ResT m a)) }
@@ -45,6 +46,9 @@
                               
 instance MonadIO m => MonadIO (ResT m) where
   liftIO = lift . liftIO
+
+instance MFunctor ResT where
+  hoist f = ResT . f . liftM (fmap (hoist f)) . deResT
 
 -- | Waits until the next tick.
 tick :: Monad m => ResT m ()
diff --git a/Control/Monad/Resumption/Reactive.hs b/Control/Monad/Resumption/Reactive.hs
--- a/Control/Monad/Resumption/Reactive.hs
+++ b/Control/Monad/Resumption/Reactive.hs
@@ -8,6 +8,7 @@
 import Control.Monad.Trans
 import Control.Applicative
 import Control.Monad.IO.Class
+import Control.Monad.Morph
 import Control.Monad.Resumption
 
 -- | Reactive resumption monad transformer.
@@ -36,6 +37,9 @@
 
 instance MonadIO m => MonadIO (ReacT input output m) where
   liftIO = lift . liftIO
+
+instance MFunctor (ReacT i o) where
+  hoist f = ReacT . f . liftM (fmap (fmap (fmap (hoist f)))) . deReacT
 
 -- | Outputs its argument, then waits for the next input and returns it.
 signal :: Monad m => output -> ReacT input output m input
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-monad-resumption [![Build Status](https://travis-ci.org/igraves/monad-resumption.svg?branch=master)](https://travis-ci.org/igraves/monad-resumption)
+monad-resumption [![Hackage Version](http://img.shields.io/hackage/v/monad-resumption.svg)](https://hackage.haskell.org/package/monad-resumption) [![Build Status](https://travis-ci.org/igraves/monad-resumption.svg?branch=master)](https://travis-ci.org/igraves/monad-resumption)
 =================
 
 This library implements resumption and reactive resumption monads for use in resumption-passing style programming in Haskell.  For more information on the basis behind Resumptions in Haskell, [Cheap (But Functional) Threads](http://people.cs.missouri.edu/~harrisonwl/drafts/CheapThreads.pdf) is an advisable read.
diff --git a/monad-resumption.cabal b/monad-resumption.cabal
--- a/monad-resumption.cabal
+++ b/monad-resumption.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                monad-resumption
-version:             0.1.1.3
+version:             0.1.1.4
 synopsis:            Resumption and reactive resumption monads for Haskell.
 description:         This package contains the definitions of Resumption and Reactive Resumption Monads.  
 homepage:            https://github.com/igraves/resumption_monads
@@ -26,6 +26,6 @@
     Control.Monad.Resumption.Connectors
   -- other-modules:       
   -- other-extensions:    
-  build-depends:       base >=4.6 && <= 4.8, transformers, mtl
+  build-depends:       base >=4.6 && <= 4.8, transformers, mtl, mmorph
   -- hs-source-dirs:      
   default-language:    Haskell2010
