diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## Megaparsec 6.0.1
+
+* Fixed a typo in `README.md`.
+
+* Added some text that clarifies how to parametrize the `ParseError` type.
+
 ## Megaparsec 6.0.0
 
 ### General
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -143,7 +143,7 @@
 ### Binary parsing
 
 Similarly, there is
-[`Text.Megaparsec.Byte`](https://hackage.haskell.org/package/megaparsec/docs/Text-Megaparsec-Char.html) module
+[`Text.Megaparsec.Byte`](https://hackage.haskell.org/package/megaparsec/docs/Text-Megaparsec-Byte.html) module
 for parsing streams of bytes.
 
 ### Permutation parsing
diff --git a/Text/Megaparsec.hs b/Text/Megaparsec.hs
--- a/Text/Megaparsec.hs
+++ b/Text/Megaparsec.hs
@@ -29,6 +29,17 @@
 -- Then you can write type signatures like @Parser Int@—for a parser that
 -- returns an 'Int' for example.
 --
+-- Similarly (since it's known to cause confusion), you should use
+-- 'ParseError' type parametrized like this:
+--
+-- > ParseError Char Void
+-- >            ^    ^
+-- >            |    |
+-- >   Token type    Custom error component (the same you used in Parser)
+--
+-- Token type for 'String' and 'Data.Text.Text' (strict and lazy) is 'Char',
+-- for 'Data.ByteString.ByteString's it's 'Data.Word.Word8'.
+--
 -- Megaparsec uses some type-level machinery to provide flexibility without
 -- compromising on type safety. Thus type signatures are sometimes necessary
 -- to avoid ambiguous types. If you're seeing a error message that reads
diff --git a/megaparsec.cabal b/megaparsec.cabal
--- a/megaparsec.cabal
+++ b/megaparsec.cabal
@@ -1,5 +1,5 @@
 name:                 megaparsec
-version:              6.0.0
+version:              6.0.1
 cabal-version:        >= 1.18
 tested-with:          GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1
 license:              BSD2
