diff --git a/yaya-unsafe.cabal b/yaya-unsafe.cabal
--- a/yaya-unsafe.cabal
+++ b/yaya-unsafe.cabal
@@ -1,7 +1,7 @@
 cabal-version:  3.0
 
 name:        yaya-unsafe
-version:     0.3.3.1
+version:     0.4.0.0
 synopsis:    Non-total extensions to the Yaya recursion scheme library.
 description: Yaya is designed as a _total_ library. However, it is often
              expedient to use partial operations in some cases, and this package
@@ -151,7 +151,7 @@
     -- TODO: Remove `Cabal` dep once haskell/cabal#3751 is fixed.
     Cabal ^>= {3.0.0, 3.2.0, 3.4.0, 3.6.0, 3.8.0, 3.10.0},
     base ^>= {4.12.0, 4.13.0, 4.14.0, 4.15.0, 4.16.0, 4.17.0, 4.18.0, 4.19.0},
-    cabal-doctest ^>= 1.0.0
+    cabal-doctest ^>= {1.0.0},
 
 library
   import: defaults
@@ -163,11 +163,12 @@
     Yaya.Unsafe.Fold.Instances
     Yaya.Unsafe.Zoo
   build-depends:
-    bifunctors,
-    comonad,
-    free,
-    lens,
-    yaya >= 0.5.1,
+    bifunctors ^>= {5.5.7, 5.6},
+    comonad ^>= 5.0.7,
+    free ^>= {5.1.5, 5.2},
+    -- `Control.Lens` in lens < 5 is `Unsafe`
+    lens ^>= {5, 5.1, 5.2},
+    yaya ^>= {0.6.0},
   ghc-options:
     -trust adjunctions
     -trust array
@@ -177,16 +178,15 @@
     -trust containers
     -trust distributive
     -trust exceptions
+    -trust foldable1-classes-compat
     -trust ghc-prim
+    -trust hashable
     -trust lens
     -trust profunctors
     -trust semigroupoids
     -trust stm
     -trust text
     -trust transformers-compat
-  if impl(ghc < 9.6)
-    ghc-options:
-      -trust foldable1-classes-compat
 
 test-suite doctests
   import: defaults
@@ -194,7 +194,7 @@
   hs-source-dirs: tests
   main-is: doctests.hs
   build-depends:
-    doctest ^>= {0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0, 0.21.0, 0.22.0},
+    doctest ^>= {0.16.0, 0.18.1, 0.20.1, 0.21.1, 0.22.2},
     yaya-unsafe,
   -- TODO: The sections below here are necessary because we don’t have control
   --       over the generated `Build_doctests.hs` file. So we have to silence
@@ -222,10 +222,10 @@
   other-modules:
     Test.Fold
   build-depends:
-    hedgehog,
-    yaya >= 0.5.0,
-    yaya-hedgehog >= 0.2.1,
-    yaya-unsafe >= 0.3.0,
+    hedgehog ^>= {1.0, 1.1, 1.2, 1.4},
+    yaya ^>= {0.6.0},
+    yaya-hedgehog ^>= {0.3.0},
+    yaya-unsafe,
   ghc-options:
     -- NB: Need `-fno-omit-yields` so that `timeout` can interrupt native
     --     recursion in non-termination tests.
@@ -240,6 +240,7 @@
     -trust containers
     -trust distributive
     -trust exceptions
+    -trust foldable1-classes-compat
     -trust ghc-prim
     -trust hashable
     -trust lens
@@ -250,6 +251,3 @@
     -trust text
     -trust transformers-compat
     -with-rtsopts=-N
-  if impl(ghc < 9.6)
-    ghc-options:
-      -trust foldable1-classes-compat
