diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Changelog for prairie
 
+## 0.0.2.1
+
+- [#3](https://github.com/parsonsmatt/prairie/pull/6)
+    - Bump upper bound for `TemplateHaskell`, supporting up to GHC 9.8
+    - Fix string literals in docs that were quoted as module names
+
 ## 0.0.2.0
 
 - [#2](https://github.com/parsonsmatt/prairie/pull/2)
diff --git a/prairie.cabal b/prairie.cabal
--- a/prairie.cabal
+++ b/prairie.cabal
@@ -1,7 +1,7 @@
 cabal-version: 1.12
 
 name:           prairie
-version:        0.0.2.0
+version:        0.0.2.1
 description:    Please see the README on GitHub at <https://github.com/parsonsmatt/prairie#readme>
 homepage:       https://github.com/parsonsmatt/prairie#readme
 bug-reports:    https://github.com/parsonsmatt/prairie/issues
@@ -35,7 +35,7 @@
     , constraints
     , containers
     , lens
-    , template-haskell  >= 2.15 && < 2.20
+    , template-haskell  >= 2.15 && < 2.22
     , text
 
   other-modules:
diff --git a/src/Prairie/Class.hs b/src/Prairie/Class.hs
--- a/src/Prairie/Class.hs
+++ b/src/Prairie/Class.hs
@@ -87,7 +87,7 @@
     --
     -- @
     -- tabulateRecordA $ \\field -> case field of
-    --     UserName -> Just "Matt"
+    --     UserName -> Just \"Matt\"
     --     UserAge -> Nothing
     --
     -- tabulateRecordA $ \\field -> case field of
diff --git a/src/Prairie/Update.hs b/src/Prairie/Update.hs
--- a/src/Prairie/Update.hs
+++ b/src/Prairie/Update.hs
@@ -82,9 +82,9 @@
 -- | Run an 'Update' against the record it is for.
 --
 -- @
--- >>> let user = User { name = "Bob", age = 30 }
+-- >>> let user = User { name = \"Bob\", age = 30 }
 -- >>> updateSingleField (SetField UserName "Alice") user
--- User { name = "Alice", age = 30 }
+-- User { name = \"Alice\", age = 30 }
 -- @
 --
 -- @since 0.0.1.0
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -1,4 +1,5 @@
 {-# language PolyKinds, LambdaCase, TypeApplications, RankNTypes, StandaloneDeriving, ConstraintKinds, TemplateHaskell, DataKinds, OverloadedStrings, FlexibleInstances, MultiParamTypeClasses, UndecidableInstances, TypeFamilies, GADTs #-}
+
 {-# options_ghc -Wall #-}
 module Main where
 
@@ -7,6 +8,7 @@
 import Data.Aeson
 import Control.Monad
 import Control.Lens
+import Data.Kind (Type)
 
 data User = User { name :: String, age :: Int }
   deriving Eq
@@ -42,7 +44,7 @@
     polyLens = \case
         TX -> lens x (\o n -> o { x = n }) :: Lens (T a) (T b) a b
 
-type family FieldLens (a :: *) (p :: *) (f :: * -> *) where
+type family FieldLens (a :: Type) (p :: Type) (f :: Type -> Type) where
     FieldLens (Field (t x) x) y f = LensLike f (t x) (t y) x y
     FieldLens (Field (t x) y) y f = LensLike f (t x) (t x) y y
 
