diff --git a/Codec/Compression/Zlib/Stream.hsc b/Codec/Compression/Zlib/Stream.hsc
--- a/Codec/Compression/Zlib/Stream.hsc
+++ b/Codec/Compression/Zlib/Stream.hsc
@@ -108,7 +108,8 @@
 import qualified Data.ByteString.Unsafe as B
 import Data.ByteString (ByteString)
 import System.IO.Unsafe (unsafeInterleaveIO)
-import Control.Monad (liftM)
+import Control.Applicative (Applicative(..))
+import Control.Monad (ap,liftM)
 import Control.Exception (assert)
 #ifdef DEBUG
 import System.IO (hPutStrLn, stderr)
@@ -301,6 +302,13 @@
               ,ForeignPtr Word8
               ,Int, Int, a)
   }
+
+instance Functor Stream where
+  fmap   = liftM
+
+instance Applicative Stream where
+  pure   = return
+  (<*>)  = ap
 
 instance Monad Stream where
   (>>=)  = thenZ
diff --git a/zlib.cabal b/zlib.cabal
--- a/zlib.cabal
+++ b/zlib.cabal
@@ -1,5 +1,5 @@
 name:            zlib
-version:         0.5.4.1
+version:         0.5.4.2
 copyright:       (c) 2006-2012 Duncan Coutts
 license:         BSD3
 license-file:    LICENSE
