diff --git a/hedis.cabal b/hedis.cabal
--- a/hedis.cabal
+++ b/hedis.cabal
@@ -1,5 +1,5 @@
 name:               hedis
-version:            0.5.1
+version:            0.6
 synopsis:
     Client library for the Redis datastore: supports full command set,  
     pipelining.
@@ -34,6 +34,12 @@
     .
     For detailed documentation, see the "Database.Redis" module.
     .
+    [Changes since version 0.5.1]
+    .
+    * Changed return type of HDEL from Bool to Integer.
+    .
+    * Some documentation updates.
+    .
     [Changes since version 0.5]
     .
     * New commands: DUMP, RESTORE, BITOP, BITCOUNT.
@@ -75,14 +81,6 @@
   type:     git
   location: https://github.com/informatikr/hedis
 
-flag benchmark
-    description: Build the benchmark executable.
-    default: False
-
-flag test
-    description: Build the test suite.
-    default: False
-
 library
   hs-source-dirs:   src
   ghc-options:      -Wall
@@ -95,7 +93,7 @@
                     bytestring-lexing == 0.4.*,
                     mtl == 2.*,
                     network == 2.*,
-                    resource-pool == 0.2.1.*,
+                    resource-pool == 0.2.*,
                     time,
                     vector == 0.9.*
 
diff --git a/src/Database/Redis.hs b/src/Database/Redis.hs
--- a/src/Database/Redis.hs
+++ b/src/Database/Redis.hs
@@ -11,6 +11,8 @@
     -- Send commands to the server:
     -- 
     -- @
+    -- {-\# LANGUAGE OverloadedStrings \#-}
+    -- ...
     -- 'runRedis' conn $ do
     --      'set' \"hello\" \"hello\"
     --      set \"world\" \"world\"
diff --git a/src/Database/Redis/Commands.hs b/src/Database/Redis/Commands.hs
--- a/src/Database/Redis/Commands.hs
+++ b/src/Database/Redis/Commands.hs
@@ -215,7 +215,7 @@
     :: (RedisCtx m f)
     => ByteString -- ^ key
     -> [ByteString] -- ^ field
-    -> m (f Bool)
+    -> m (f Integer)
 hdel key field = sendRequest (["HDEL"] ++ [encode key] ++ map encode field )
 
 hincrby
diff --git a/src/Database/Redis/Protocol.hs b/src/Database/Redis/Protocol.hs
--- a/src/Database/Redis/Protocol.hs
+++ b/src/Database/Redis/Protocol.hs
@@ -61,7 +61,7 @@
 
 multiBulk :: Parser Reply
 multiBulk = MultiBulk <$> do
-        len <- char '*' *> signed decimal <* endOfLine
-        if len < 0
-            then return Nothing
-            else Just <$> count len reply
+    len <- char '*' *> signed decimal <* endOfLine
+    if len < 0
+        then return Nothing
+        else Just <$> count len reply
diff --git a/src/Database/Redis/ProtocolPipelining.hs b/src/Database/Redis/ProtocolPipelining.hs
--- a/src/Database/Redis/ProtocolPipelining.hs
+++ b/src/Database/Redis/ProtocolPipelining.hs
@@ -85,8 +85,9 @@
 
 -- |Take a reply from the list of future replies.
 --
---  'head' and 'tail' are used to get a thunk of the reply. Pattern matching (:)
---   would block until a reply could be read.
+--  The list of thunks must be deconstructed lazily, i.e. strictly matching (:)
+--  would block until a reply can be read. Using 'head' and 'tail' achieves ~2%
+--  more req/s in pipelined code than a lazy pattern match @~(r:rs)@.
 recv :: Connection a -> IO a
 recv Conn{..} = do
     rs <- readIORef connReplies
diff --git a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -242,7 +242,7 @@
     hgetall "key"                >>=? [("field","value")]
     hkeys "key"                  >>=? ["field"]
     hvals "key"                  >>=? ["value"]
-    hdel "key" ["field"]         >>=? True
+    hdel "key" ["field"]         >>=? 1
     hmset "key" [("field","40")] >>=? Ok
     hincrby "key" "field" 2      >>=? 42
     hincrbyfloat "key" "field" 2 >>=? 44
