diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -63,7 +63,6 @@
   the regular expression says it has found a numeric string but the
   string-to-number conversion function fails. A typed parser will perform both
   the pattern match and the conversion, so it will never be in that situation.
-
   [Parse, don't validate.](https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/)
 
 * Regular expressions are only able to pattern-match
@@ -108,7 +107,7 @@
 number with a prefix `"0x"`, and sections which can't. Parse the numbers.
 
 ```haskell
-let hexparser = chunk "0x" >> hexadecimal :: Parsec Void String Integer
+let hexparser = chunk "0x" *> hexadecimal :: Parsec Void String Integer
 parseTest (sepCap hexparser) "0xA 000 0xFFFF"
 ```
 ```haskell
@@ -121,7 +120,7 @@
 the parsed number.
 
 ```haskell
-let hexparser = chunk "0x" >> hexadecimal :: Parsec Void String Integer
+let hexparser = chunk "0x" *> hexadecimal :: Parsec Void String Integer
 parseTest (findAll hexparser) "0xA 000 0xFFFF"
 ```
 ```haskell
@@ -134,7 +133,7 @@
 parses as a hexadecimal number.
 
 ```haskell
-let hexparser = chunk "0x" >> hexadecimal :: Parsec Void String Integer
+let hexparser = chunk "0x" *> hexadecimal :: Parsec Void String Integer
 parseTest (findAllCap hexparser) "0xA 000 0xFFFF"
 ```
 ```haskell
@@ -150,7 +149,7 @@
 ```haskell
 import Data.Either
 let spaceoffset = getOffset <* space1 :: Parsec Void String Int
-parseTest (return . rights =<< sepCap spaceoffset) " a  b  "
+parseTest (pure . rights =<< sepCap spaceoffset) " a  b  "
 ```
 ```haskell
 [0,2,5]
@@ -163,13 +162,14 @@
 expression. We can express the pattern with a recursive parser.
 
 ```haskell
+import Data.Functor
 let parens :: Parsec Void String ()
     parens = do
         char '('
         manyTill
             (void (noneOf "()") <|> void parens)
             (char ')')
-        return ()
+        pure ()
 
 parseTest (findAll parens) "(()) (()())"
 ```
@@ -216,7 +216,7 @@
 combinator.
 
 ```haskell
-let hexparser = chunk "0x" >> hexadecimal :: Parsec Void String Integer
+let hexparser = chunk "0x" *> hexadecimal :: Parsec Void String Integer
 streamEdit (match hexparser) (\(s,r) -> if r<=16 then show r else s) "0xA 000 0xFFFF"
 ```
 ```haskell
@@ -407,8 +407,8 @@
    The premise of this library is that monadic parsers are great for finding
    small signal patterns in a stream of otherwise noisy text.
 
-   There is a reluctance to forego the speedup opportunities afforded by restricting
-   ourselves to regular grammars, but this is an old superstition about
+   Our reluctance to forego the speedup opportunities afforded by restricting
+   ourselves to regular grammars is an old superstition about
    opportunities which
    [remain mostly unexploited anyway](https://swtch.com/~rsc/regexp/regexp1.html).
    The performance compromise of allowing stack memory allocation (a.k.a. pushdown
diff --git a/replace-megaparsec.cabal b/replace-megaparsec.cabal
--- a/replace-megaparsec.cabal
+++ b/replace-megaparsec.cabal
@@ -1,7 +1,7 @@
 name:                replace-megaparsec
-version:             1.3.1.0
+version:             1.3.2.0
 cabal-version:       1.18
-synopsis:            Find, replace, and edit text patterns with Megaparsec parsers
+synopsis:            Find, replace, and edit text patterns with Megaparsec parsers (instead of regex)
 homepage:            https://github.com/jamesdbrock/replace-megaparsec
 bug-reports:         https://github.com/jamesdbrock/replace-megaparsec/issues
 license:             BSD2
diff --git a/src/Replace/Megaparsec.hs b/src/Replace/Megaparsec.hs
--- a/src/Replace/Megaparsec.hs
+++ b/src/Replace/Megaparsec.hs
@@ -97,7 +97,7 @@
 -- === Special accelerated inputs
 --
 -- There are specialization re-write rules to speed up this function when
--- the input type is "Data.Text" or "Data.Bytestring".
+-- the input type is "Data.Text" or "Data.ByteString".
 --
 -- === Error parameter
 --
@@ -248,8 +248,8 @@
 -- with "Text.Megaparsec":
 -- "Data.Text",
 -- "Data.Text.Lazy",
--- "Data.Bytestring",
--- "Data.Bytestring.Lazy",
+-- "Data.ByteString",
+-- "Data.ByteString.Lazy",
 -- and "Data.String".
 --
 -- We need the @Monoid s@ instance so that we can 'Data.Monoid.mconcat' the output
diff --git a/tests/TestByteString.hs b/tests/TestByteString.hs
--- a/tests/TestByteString.hs
+++ b/tests/TestByteString.hs
@@ -47,6 +47,7 @@
         ("a")
         ([Left "a"])
 #endif
+    , Test $ runParserTest "empty input" (sepCap (fail "" :: Parser ())) "" []
     , Test $ streamEditTest "x to o"
         (string "x" :: Parser B.ByteString) (const "o")
         "x x x" "o o o"
@@ -56,6 +57,7 @@
     , Test $ streamEditTest "ordering"
         (string "456" :: Parser B.ByteString) (const "ABC")
         "123456789" "123ABC789"
+    , Test $ streamEditTest "empty input" (match (fail "" :: Parser ())) (fst) "" ""
     ]
   where
     runParserTest nam p input expected = TestInstance
diff --git a/tests/TestString.hs b/tests/TestString.hs
--- a/tests/TestString.hs
+++ b/tests/TestString.hs
@@ -47,6 +47,7 @@
         (findAll ((takeWhileP Nothing (=='𝅘𝅥𝅯') :: Parser String)))
         ("𝄞𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥")
         [Left "𝄞𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥", Right "𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯", Left "𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥"]
+    , Test $ runParserTest "empty input" (sepCap (fail "" :: Parser ())) "" []
     , Test $ streamEditTest "x to o"
         (string "x" :: Parser String) (const "o")
         "x x x" "o o o"
@@ -56,6 +57,7 @@
     , Test $ streamEditTest "ordering"
         (string "456" :: Parser String) (const "ABC")
         "123456789" "123ABC789"
+    , Test $ streamEditTest "empty input" (match (fail "" :: Parser ())) (fst) "" ""
     ]
   where
     runParserTest nam p input expected = TestInstance
diff --git a/tests/TestText.hs b/tests/TestText.hs
--- a/tests/TestText.hs
+++ b/tests/TestText.hs
@@ -49,6 +49,7 @@
         (findAll ((takeWhileP Nothing (=='𝅘𝅥𝅯') :: Parser T.Text)))
         ("𝄞𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥" :: T.Text)
         [Left "𝄞𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥", Right "𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯𝅘𝅥𝅯", Left "𝅘𝅥𝅘𝅥𝅘𝅥𝅘𝅥"]
+    , Test $ runParserTest "empty input" (sepCap (fail "" :: Parser ())) "" []
     , Test $ streamEditTest "x to o"
         (string "x" :: Parser T.Text) (const "o")
         "x x x" "o o o"
@@ -58,6 +59,7 @@
     , Test $ streamEditTest "ordering"
         (string "456" :: Parser T.Text) (const "ABC")
         "123456789" "123ABC789"
+    , Test $ streamEditTest "empty input" (match (fail "" :: Parser ())) (fst) "" ""
     ]
   where
     runParserTest nam p input expected = TestInstance
