diff --git a/README.lhs b/README.lhs
--- a/README.lhs
+++ b/README.lhs
@@ -1,5 +1,7 @@
 # Higgledy 📚
 
+[![GitHub CI](https://github.com/i-am-tom/higgledy/workflows/CI/badge.svg)](https://github.com/i-am-tom/higgledy/actions)
+
 Higher-kinded data via generics: all\* the benefits, but none\* of the
 boilerplate.
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # Higgledy 📚
 
+[![GitHub CI](https://github.com/i-am-tom/higgledy/workflows/CI/badge.svg)](https://github.com/i-am-tom/higgledy/actions)
+
 Higher-kinded data via generics: all\* the benefits, but none\* of the
 boilerplate.
 
diff --git a/higgledy.cabal b/higgledy.cabal
--- a/higgledy.cabal
+++ b/higgledy.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.4
 build-type: Custom
 name: higgledy
-version: 0.4.1.1
+version: 0.4.2.0
 synopsis: Partial types as a type constructor.
 description: Use the generic representation of an ADT to get a higher-kinded data-style interface automatically.
 homepage: https://github.com/i-am-tom/higgledy
@@ -37,8 +37,8 @@
 
 test-suite doctests
   build-depends: base
-               , base-compat ^>= 0.11
-               , doctest ^>= 0.17
+               , base-compat >= 0.11 && < 0.13
+               , doctest >= 0.17 && < 0.20
                , higgledy
                , lens
                , QuickCheck
@@ -54,7 +54,7 @@
                      , barbies
                      , higgledy
                      , hspec >= 2.6.1 && < 2.8
-                     , lens >= 4.17 && < 5
+                     , lens >= 4.17 && < 5.2
                      , QuickCheck
   main-is:             Main.hs
   type:                exitcode-stdio-1.0
@@ -64,7 +64,7 @@
 test-suite readme
   build-depends:       base
                      , barbies
-                     , lens >= 4.17 && < 5
+                     , lens >= 4.17 && < 5.2
                      , higgledy
                      , named ^>= 0.3.0.0
   main-is:             README.lhs
diff --git a/src/Data/Generic/HKD.hs b/src/Data/Generic/HKD.hs
--- a/src/Data/Generic/HKD.hs
+++ b/src/Data/Generic/HKD.hs
@@ -88,11 +88,10 @@
 -- get some beautiful error messages when things go awry:
 --
 -- >>> import Data.Generic.HKD.Construction
--- >>> deconstruct ("Hello", True) ^. position @4
+-- >>> deconstruct ((), True) ^. position @4
 -- ...
 -- ... error:
--- ... The type HKD
--- ... ([Char], Bool) f does not contain a field at position 4
+-- ... The type HKD ((), Bool) f does not contain a field at position 4
 -- ...
 position
   :: forall index f structure inner
diff --git a/src/Data/Generic/HKD/Build.hs b/src/Data/Generic/HKD/Build.hs
--- a/src/Data/Generic/HKD/Build.hs
+++ b/src/Data/Generic/HKD/Build.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE AllowAmbiguousTypes    #-}
 {-# LANGUAGE BlockArguments         #-}
 {-# LANGUAGE DataKinds              #-}
+{-# LANGUAGE FlexibleContexts       #-}
 {-# LANGUAGE FlexibleInstances      #-}
 {-# LANGUAGE FunctionalDependencies #-}
 {-# LANGUAGE GADTs                  #-}
diff --git a/src/Data/Generic/HKD/Types.hs b/src/Data/Generic/HKD/Types.hs
--- a/src/Data/Generic/HKD/Types.hs
+++ b/src/Data/Generic/HKD/Types.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE AllowAmbiguousTypes    #-}
 {-# LANGUAGE ConstraintKinds        #-}
 {-# LANGUAGE DataKinds              #-}
+{-# LANGUAGE FlexibleContexts       #-}
 {-# LANGUAGE FlexibleInstances      #-}
 {-# LANGUAGE FunctionalDependencies #-}
 {-# LANGUAGE InstanceSigs           #-}
