diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,4 +1,6 @@
-# Unreleased
+# 0.6.0.0
+
+* Add polymorphic type family `Undefined` that emits a `TypeError`.
 
 # 0.5.0.0
 
diff --git a/incipit-base.cabal b/incipit-base.cabal
--- a/incipit-base.cabal
+++ b/incipit-base.cabal
@@ -1,11 +1,11 @@
 cabal-version: 2.2
 
--- This file has been generated from package.yaml by hpack version 0.35.0.
+-- This file has been generated from package.yaml by hpack version 0.35.2.
 --
 -- see: https://github.com/sol/hpack
 
 name:           incipit-base
-version:        0.5.1.0
+version:        0.6.0.0
 synopsis:       A Prelude for Polysemy – Base Reexports
 description:    See https://hackage.haskell.org/package/incipit-base/docs/IncipitBase.html
 category:       Prelude
@@ -75,6 +75,7 @@
   hs-source-dirs:
       lib
   default-extensions:
+      NoImplicitPrelude
       AllowAmbiguousTypes
       ApplicativeDo
       BlockArguments
@@ -89,6 +90,7 @@
       GADTs
       LambdaCase
       LiberalTypeSynonyms
+      MonadComprehensions
       MultiWayIf
       OverloadedLabels
       OverloadedLists
@@ -107,42 +109,14 @@
       UndecidableInstances
       UnicodeSyntax
       ViewPatterns
-      BangPatterns
-      BinaryLiterals
-      ConstraintKinds
-      DeriveDataTypeable
-      DeriveFoldable
-      DeriveFunctor
-      DeriveGeneric
-      DeriveLift
-      DeriveTraversable
-      DoAndIfThenElse
-      EmptyCase
-      EmptyDataDecls
-      ExistentialQuantification
-      FlexibleContexts
-      FlexibleInstances
-      GeneralizedNewtypeDeriving
-      InstanceSigs
-      KindSignatures
-      MultiParamTypeClasses
-      NamedFieldPuns
-      PatternGuards
-      PolyKinds
-      RankNTypes
-      ScopedTypeVariables
-      StandaloneDeriving
-      TupleSections
-      TypeApplications
-      TypeOperators
-      TypeSynonymInstances
-      NoImplicitPrelude
+      OverloadedRecordDot
+      NoFieldSelectors
   ghc-options: -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages
   build-depends:
-      base >=4.13 && <4.19
+      base >=4.13 && <4.20
     , bytestring
     , containers
     , data-default ==0.7.*
     , stm
     , text
-  default-language: Haskell2010
+  default-language: GHC2021
diff --git a/lib/Incipit/Debug.hs b/lib/Incipit/Debug.hs
--- a/lib/Incipit/Debug.hs
+++ b/lib/Incipit/Debug.hs
@@ -68,7 +68,7 @@
   m ()
 dbgs a =
   debugPrintWithLoc (srcLoc callStack) (show a)
-{-# noinline dbgs_ #-}
+{-# noinline dbgs #-}
 
 -- |Print a value with a 'Show' instance in an arbitrary 'Monad', returning the value.
 dbgs_ ::
@@ -80,7 +80,7 @@
   m a
 dbgs_ a =
   a <$ debugPrintWithLoc (srcLoc callStack) (show a)
-{-# noinline dbgs #-}
+{-# noinline dbgs_ #-}
 
 -- |Like 'Debug.Trace.trace', but with 'Text' and with source location prefix.
 tr ::
diff --git a/lib/Incipit/TypeError.hs b/lib/Incipit/TypeError.hs
--- a/lib/Incipit/TypeError.hs
+++ b/lib/Incipit/TypeError.hs
@@ -3,22 +3,30 @@
 -- | Description: 'ErrorMessage' concatenation operators, stolen from type-errors-pretty.
 module Incipit.TypeError where
 
-import GHC.TypeLits (ErrorMessage (..), Symbol)
+import GHC.TypeLits (ErrorMessage (..), Symbol, TypeError)
 
+-- | Concat two error message strings.
 type (<>) :: k1 -> k2 -> ErrorMessage
 type family (<>) l r :: ErrorMessage where
   l <> r = ToErrorMessage l ':<>: ToErrorMessage r
 
 infixl 5 <>
 
+-- | Concat two error message strings with a newline.
 type (%) :: k1 -> k2 -> ErrorMessage
 type family (%) t b :: ErrorMessage where
   t % b = ToErrorMessage t ':$$: ToErrorMessage b
 
 infixr 4 %
 
+-- | Convert a 'Symbol', 'ErrorMessage' or type to an 'ErrorMessage'.
 type ToErrorMessage :: k -> ErrorMessage
 type family ToErrorMessage t where
   ToErrorMessage (t :: Symbol) = 'Text t
   ToErrorMessage (t :: ErrorMessage) = t
   ToErrorMessage t = 'ShowType t
+
+-- | Placeholder similar to 'IncipitBase.undefined'.
+type Undefined :: k
+type family Undefined where
+  Undefined = TypeError ('Text "undefined")
