diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for Z-Data
 
+## 1.0.0.1  -- 2021-07-08
+
+* Fix a regression in `match` parsing combinator where matched chunk is returned instead of precise matched input.
+
 ## 1.0.0.0  -- 2021-07-05
 
 * Clean up various `RULES` and `INLINE` pragmas, improve building time a little.
diff --git a/Z-Data.cabal b/Z-Data.cabal
--- a/Z-Data.cabal
+++ b/Z-Data.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               Z-Data
-version:            1.0.0.0
+version:            1.0.0.1
 synopsis:           Array, vector and text
 description:        This package provides array, slice and text operations
 license:            BSD-3-Clause
diff --git a/Z/Data/Builder.hs b/Z/Data/Builder.hs
--- a/Z/Data/Builder.hs
+++ b/Z/Data/Builder.hs
@@ -64,7 +64,7 @@
   , utcTime
   , localTime
   , zonedTime
-    -- * Specialized primitive parser
+    -- * Specialized primitive builder
   , encodeWord  , encodeWord64, encodeWord32, encodeWord16, encodeWord8
   , encodeInt   , encodeInt64 , encodeInt32 , encodeInt16 , encodeInt8 , encodeDouble, encodeFloat
   , encodeWordLE  , encodeWord64LE , encodeWord32LE , encodeWord16LE
diff --git a/Z/Data/Builder/Base.hs b/Z/Data/Builder/Base.hs
--- a/Z/Data/Builder/Base.hs
+++ b/Z/Data/Builder/Base.hs
@@ -50,7 +50,7 @@
   , charUTF8, string7, char7, word7, string8, char8, word8, word8N, text
   -- * Builder helpers
   , paren, parenWhen, curly, square, angle, quotes, squotes, colon, comma, intercalateVec, intercalateList
-    -- * Specialized primitive parser
+    -- * Specialized primitive builder
   , encodeWord  , encodeWord64, encodeWord32, encodeWord16, encodeWord8
   , encodeInt   , encodeInt64 , encodeInt32 , encodeInt16 , encodeInt8 , encodeDouble, encodeFloat
   , encodeWordLE  , encodeWord64LE , encodeWord32LE , encodeWord16LE
diff --git a/Z/Data/Parser/Base.hs b/Z/Data/Parser/Base.hs
--- a/Z/Data/Parser/Base.hs
+++ b/Z/Data/Parser/Base.hs
@@ -283,13 +283,15 @@
 
 -- | Return both the result of a parse and the portion of the input
 -- that was consumed while it was being parsed.
+--
 match :: Parser a -> Parser (V.Bytes, a)
 {-# INLINE match #-}
 match p = do
     (r, consumed) <- runAndKeepTrack p
     Parser (\ _ k s _ ->
         case r of
-            Success r' inp'  -> k s (consumed , r') inp'
+            Success r' inp'  -> let consumed' = V.dropR (V.length inp') consumed
+                                in consumed' `seq` k s (consumed' , r') inp'
             Failure err inp' -> Failure err inp'
             Partial _        -> error "Z.Data.Parser.Base.match: impossible")
 
