diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,8 @@
+# Version 0.4.3
+
+* Fix usage of the `Producer'` type synonym (#14).
+
+
 # Version 0.4.2.1
 
 * Fix “Codec.Compression.Zlib: premature end of compressed stream” (#13)
diff --git a/pipes-zlib.cabal b/pipes-zlib.cabal
--- a/pipes-zlib.cabal
+++ b/pipes-zlib.cabal
@@ -1,5 +1,5 @@
 name:               pipes-zlib
-version:            0.4.2.1
+version:            0.4.3
 license:            BSD3
 license-file:       LICENSE
 Copyright:          Copyright (c) Paolo Capriotti 2012,
diff --git a/src/Pipes/GZip.hs b/src/Pipes/GZip.hs
--- a/src/Pipes/GZip.hs
+++ b/src/Pipes/GZip.hs
@@ -25,19 +25,33 @@
 --------------------------------------------------------------------------------
 
 -- | Decompress bytes flowing from a 'Producer'.
+--
+-- @
+-- 'decompress' :: 'MonadIO' m
+--            => 'Producer' 'B.ByteString' m r
+--            -> 'Producer' 'B.ByteString' m r
+-- @
 decompress
   :: MonadIO m
-  => Producer' B.ByteString m r -- ^ Compressed stream
-  -> Producer' B.ByteString m r -- ^ Decompressed stream
+  => Proxy x' x () B.ByteString m r -- ^ Compressed stream
+  -> Proxy x' x () B.ByteString m r -- ^ Decompressed stream
+  -- -> Producer' B.ByteString m r -- ^ Decompressed stream
 decompress = Pipes.Zlib.decompress (ZC.WindowBits 31)
 {-# INLINABLE decompress #-}
 
 
 -- | Compress bytes flowing from a 'Producer'.
+--
+-- @
+-- 'compress' :: 'MonadIO' m
+--          => 'ZC.CompressionLevel'
+--          -> 'Producer' 'B.ByteString' m r
+--          -> 'Producer' 'B.ByteString' m r
+-- @
 compress
   :: MonadIO m
   => ZC.CompressionLevel
-  -> Producer' B.ByteString m r -- ^ Decompressed stream
-  -> Producer' B.ByteString m r -- ^ Compressed stream
+  -> Proxy x' x () B.ByteString m r -- ^ Decompressed stream
+  -> Proxy x' x () B.ByteString m r -- ^ Compressed stream
 compress clevel = Pipes.Zlib.compress clevel (ZC.WindowBits 31)
 {-# INLINABLE compress #-}
diff --git a/src/Pipes/Zlib.hs b/src/Pipes/Zlib.hs
--- a/src/Pipes/Zlib.hs
+++ b/src/Pipes/Zlib.hs
@@ -36,11 +36,18 @@
 -- | Decompress bytes flowing from a 'Producer'.
 --
 -- See the "Codec.Compression.Zlib" module for details about 'Z.WindowBits'.
+--
+-- @
+-- 'decompress' :: 'MonadIO' m
+--            => 'ZC.WindowBits'
+--            => 'Producer' 'B.ByteString' m r
+--            -> 'Producer' 'B.ByteString' m r
+-- @
 decompress
   :: MonadIO m
   => ZC.WindowBits
-  -> Producer' B.ByteString m r -- ^ Compressed stream
-  -> Producer' B.ByteString m r -- ^ Decompressed stream
+  -> Proxy x' x () B.ByteString m r -- ^ Compressed stream
+  -> Proxy x' x () B.ByteString m r -- ^ Decompressed stream
 decompress wbits p0 = do
     inf <- liftIO $ Z.initInflate wbits
     r <- for p0 $ \bs -> do
@@ -56,12 +63,20 @@
 --
 -- See the "Codec.Compression.Zlib" module for details about
 -- 'ZC.CompressionLevel' and 'ZC.WindowBits'.
+--
+-- @
+-- 'compress' :: 'MonadIO' m
+--          => 'ZC.CompressionLevel'
+--          -> 'ZC.WindowBits'
+--          -> 'Producer' 'B.ByteString' m r
+--          -> 'Producer' 'B.ByteString' m r
+-- @
 compress
   :: MonadIO m
   => ZC.CompressionLevel
   -> ZC.WindowBits
-  -> Producer' B.ByteString m r -- ^ Decompressed stream
-  -> Producer' B.ByteString m r -- ^ Compressed stream
+  -> Proxy x' x () B.ByteString m r -- ^ Decompressed stream
+  -> Proxy x' x () B.ByteString m r -- ^ Compressed stream
 compress clevel wbits p0 = do
     def <- liftIO $ Z.initDeflate (fromCompressionLevel clevel) wbits
     r <- for p0 $ \bs -> do
