diff --git a/mutable-iter.cabal b/mutable-iter.cabal
--- a/mutable-iter.cabal
+++ b/mutable-iter.cabal
@@ -1,5 +1,5 @@
 Name:                mutable-iter
-Version:             0.3
+Version:             0.4
 Synopsis:            iteratees based upon mutable buffers
 Description:         Provides iteratees backed by mutable buffers.  This enables iteratees to run without any extra memory allocations.
 Homepage:            http://tanimoto.us/~jwlato/haskell/mutable-iter
@@ -9,7 +9,7 @@
 Maintainer:          jwlato@gmail.com
 Copyright:           John W. Lato, 2010
 Stability:           Experimental
-Tested-with:         GHC == 6.12.1
+Tested-with:         GHC == 6.12.3
 Category:            Data
 Build-type:          Simple
 
@@ -28,7 +28,7 @@
                       ,Data.MutableIter.IOBuffer
   Build-depends:
     base                      >= 4         && < 6,
-    iteratee                  >= 0.5       && < 0.6,
+    iteratee                  >= 0.5       && < 0.7,
     MonadCatchIO-transformers >= 0.2       && < 0.3,
     transformers              >= 0.2       && < 0.3,
-    vector                    >= 0.4       && < 0.8
+    vector                    >= 0.4       && < 0.9
diff --git a/src/Data/MutableIter.hs b/src/Data/MutableIter.hs
--- a/src/Data/MutableIter.hs
+++ b/src/Data/MutableIter.hs
@@ -54,13 +54,13 @@
 
 import System.IO
 
-isNullChunk :: (MonadCatchIO s) => I.Stream (IOBuffer r el) -> s Bool
+isNullChunk :: (MonadIO s) => I.Stream (IOBuffer r el) -> s Bool
 isNullChunk (I.EOF _) = return False
 isNullChunk (I.Chunk s) = liftIO $ null s
 
 newtype MIteratee s m a = MIteratee {unwrap :: I.Iteratee s m a} deriving (Functor)
 
-instance (MonadCatchIO m, Storable el) => Monad (MIteratee (IOBuffer r el) m) where
+instance (MonadIO m, Storable el) => Monad (MIteratee (IOBuffer r el) m) where
   {-# INLINE return #-}
   return x = MIteratee (I.Iteratee $ \onDone _ -> onDone x (I.Chunk empty))
   -- {-# INLINE (>>=) #-} -- this inline makes things a bit slower with 6.12.  Seems fixed in ghc-7
@@ -77,7 +77,7 @@
 instance (Storable el) => MonadTrans (MIteratee (IOBuffer s el)) where
   lift m = MIteratee $ I.Iteratee $ \od _ -> m >>= flip od (I.Chunk empty)
 
-instance (MonadCatchIO m, Storable el)
+instance (MonadIO m, Storable el)
   => MonadIO (MIteratee (IOBuffer r el) m) where
     liftIO = lift . liftIO
 
