diff --git a/Codec/Netstring/Enumerator.hs b/Codec/Netstring/Enumerator.hs
--- a/Codec/Netstring/Enumerator.hs
+++ b/Codec/Netstring/Enumerator.hs
@@ -70,9 +70,8 @@
 		-- accumulator to the child iteratee and yield back to the
 		-- parent enumerator.
 		(inData, extra) = B.splitAt (fromInteger (count - n)) x
-		finish = feed k (inData:acc) $ E.checkDone
-			(\k' -> E.yield (E.Continue k')
-			(E.Chunks (extra:xs)))
+		finish = feed k (inData:acc) $ E.checkDoneEx (E.Chunks (extra:xs))
+			(\k' -> E.yield (E.Continue k') (E.Chunks (extra:xs)))
 
 -- 'dropChar' reads a single ASCII character from the enumerator, and checks
 -- that it matches the expected value. If so, it's discarded (but the rest
diff --git a/netstring-enumerator.cabal b/netstring-enumerator.cabal
--- a/netstring-enumerator.cabal
+++ b/netstring-enumerator.cabal
@@ -1,5 +1,5 @@
 name: netstring-enumerator
-version: 0.1
+version: 0.1.0.1
 synopsis: Enumerator-based netstring parsing
 license: GPL-3
 license-file: license.txt
@@ -19,12 +19,12 @@
   can be decoded without requiring sentinel bytes.
 
 library
-  ghc-options: -Wall -fno-warn-unused-do-bind
+  ghc-options: -Wall
 
   build-depends:
       base >= 4 && < 5
     , bytestring >= 0.9 && < 0.10
-    , enumerator >= 0.4 && < 0.5
+    , enumerator >= 0.4.3 && < 0.5
     , transformers >= 0.2 && < 0.3
 
   exposed-modules:
