diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+# v1.1.2.2
+
+- Adds support for `ghc` 9.6, `base` 4.18, and `transformers` 0.6.
+
 # v1.1.2.1
 
 - Adds support for `ghc` 9.4 and `base` 4.17.
diff --git a/README.lhs b/README.lhs
--- a/README.lhs
+++ b/README.lhs
@@ -295,7 +295,7 @@
 
 * [`semantic`](http://github.com/github/semantic), a program analysis toolkit
 * [`now-haskell`](http://hackage.haskell.org/package/now-haskell), a client library for AWS Lambda
-* ['Deadpendency'](https://deadpendency.com), a software dependency project health tracking tool
+* [`FOSSA`](https://serokell.io/blog/haskell-in-production-fossa), a tool for open-source risk management.
 
 
 ### Comparison to other effect libraries
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -295,7 +295,7 @@
 
 * [`semantic`](http://github.com/github/semantic), a program analysis toolkit
 * [`now-haskell`](http://hackage.haskell.org/package/now-haskell), a client library for AWS Lambda
-* ['Deadpendency'](https://deadpendency.com), a software dependency project health tracking tool
+* [`FOSSA`](https://serokell.io/blog/haskell-in-production-fossa), a tool for open-source risk management.
 
 
 ### Comparison to other effect libraries
diff --git a/examples/Labelled.hs b/examples/Labelled.hs
--- a/examples/Labelled.hs
+++ b/examples/Labelled.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DataKinds #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE TypeApplications #-}
@@ -5,7 +6,9 @@
 ( example
 ) where
 
+#if !MIN_VERSION_base(4,18,0)
 import           Control.Applicative
+#endif
 import           Control.Carrier.Reader
 import           Control.Carrier.State.Strict
 import           Control.Effect.Labelled
diff --git a/fused-effects.cabal b/fused-effects.cabal
--- a/fused-effects.cabal
+++ b/fused-effects.cabal
@@ -1,7 +1,7 @@
 cabal-version:       2.2
 
 name:                fused-effects
-version:             1.1.2.1
+version:             1.1.2.2
 synopsis:            A fast, flexible, fused effect system.
 description:         A fast, flexible, fused effect system, à la Effect Handlers in Scope, Monad Transformers and Modular Algebraic Effects: What Binds Them Together, and Fusion for Free—Efficient Algebraic Effect Handlers.
 homepage:            https://github.com/fused-effects/fused-effects
@@ -9,11 +9,12 @@
 license-file:        LICENSE
 author:              Nicolas Wu, Tom Schrijvers, Rob Rix, Patrick Thomson
 maintainer:          robrix@github.com
-copyright:           2018-2021 Nicolas Wu, Tom Schrijvers, Rob Rix, Patrick Thomson
+copyright:           2018-2023 Nicolas Wu, Tom Schrijvers, Rob Rix, Patrick Thomson
 category:            Control
 build-type:          Simple
 extra-source-files:
   README.md
+extra-doc-files:
   ChangeLog.md
 
 tested-with:
@@ -25,6 +26,7 @@
   GHC == 9.0.1
   GHC == 9.2.1
   GHC == 9.4.2
+  GHC == 9.6.2
 
 common common
   default-language: Haskell2010
@@ -48,6 +50,12 @@
   if (impl(ghc >= 9.2))
     ghc-options:
       -Wno-missing-kind-signatures
+  -- Temporary hack to deal with a bug in GHC 9.6 where
+  -- derivations of MonadTrans cause spurious redundant-constraint warnings.
+  -- https://gitlab.haskell.org/ghc/ghc/-/issues/23143
+  if (impl(ghc >= 9.6))
+    ghc-options:
+      -Wno-redundant-constraints
 
 library
   import:         common
@@ -117,8 +125,8 @@
     Control.Effect.Throw.Internal
     Control.Effect.Writer.Internal
   build-depends:
-      base          >= 4.9 && < 4.18
-    , transformers  >= 0.4 && < 0.6
+      base          >= 4.9 && < 4.19
+    , transformers  >= 0.4 && < 0.7
     , unliftio-core >= 0.2 && < 0.3
 
 
@@ -137,7 +145,7 @@
   build-depends:
     , base
     , fused-effects
-    , hedgehog           >= 1 && < 1.2
+    , hedgehog           >= 1 && < 1.3
     , hedgehog-fn        ^>= 1
 
 
@@ -206,7 +214,7 @@
   build-depends:
     , base
     , fused-effects
-    , tasty-bench
+    , tasty-bench == 0.3.*
     , transformers
   ghc-options:
     -threaded
diff --git a/src/Control/Carrier/Choose/Church.hs b/src/Control/Carrier/Choose/Church.hs
--- a/src/Control/Carrier/Choose/Church.hs
+++ b/src/Control/Carrier/Choose/Church.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveTraversable #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE GADTs #-}
@@ -24,7 +25,9 @@
 ) where
 
 import Control.Algebra
+#if !MIN_VERSION_base(4,18,0)
 import Control.Applicative (liftA2)
+#endif
 import Control.Effect.Choose
 import Control.Monad.Fail as Fail
 import Control.Monad.Fix
@@ -82,8 +85,8 @@
   mfix f = ChooseC $ \ fork leaf ->
     mfix (runChooseS (pure . pure) . f . head)
     >>= \case
-      a:|[] -> leaf a
-      a:|_  -> leaf a `fork` runChoose fork leaf (mfix (liftAll . fmap tail . runChooseS (pure . pure) . f))
+      a :| [] -> leaf a
+      a :| _  -> leaf a `fork` runChoose fork leaf (mfix (liftAll . fmap tail . runChooseS (pure . pure) . f))
       where
     liftAll m = ChooseC $ \ fork leaf -> m >>= foldr1 fork . fmap leaf
   {-# INLINE mfix #-}
diff --git a/src/Control/Carrier/Cull/Church.hs b/src/Control/Carrier/Cull/Church.hs
--- a/src/Control/Carrier/Cull/Church.hs
+++ b/src/Control/Carrier/Cull/Church.hs
@@ -22,7 +22,7 @@
 ) where
 
 import Control.Algebra
-import Control.Applicative (liftA2)
+import Control.Applicative
 import Control.Carrier.NonDet.Church
 import Control.Carrier.Reader
 import Control.Effect.Cull
diff --git a/src/Control/Carrier/Cut/Church.hs b/src/Control/Carrier/Cut/Church.hs
--- a/src/Control/Carrier/Cut/Church.hs
+++ b/src/Control/Carrier/Cut/Church.hs
@@ -22,7 +22,7 @@
 ) where
 
 import Control.Algebra
-import Control.Applicative (liftA2)
+import Control.Applicative
 import Control.Effect.Cut
 import Control.Effect.NonDet
 import Control.Monad.Fail as Fail
diff --git a/src/Control/Carrier/Empty/Church.hs b/src/Control/Carrier/Empty/Church.hs
--- a/src/Control/Carrier/Empty/Church.hs
+++ b/src/Control/Carrier/Empty/Church.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveFunctor #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
@@ -20,7 +21,9 @@
 ) where
 
 import Control.Algebra
+#if !MIN_VERSION_base(4,18,0)
 import Control.Applicative (liftA2)
+#endif
 import Control.Effect.Empty
 import Control.Monad.Fix
 import Control.Monad.Fail as Fail
diff --git a/src/Control/Carrier/Error/Church.hs b/src/Control/Carrier/Error/Church.hs
--- a/src/Control/Carrier/Error/Church.hs
+++ b/src/Control/Carrier/Error/Church.hs
@@ -18,7 +18,7 @@
 ) where
 
 import Control.Algebra
-import Control.Applicative (Alternative(..), liftA2)
+import Control.Applicative
 import Control.Effect.Error
 import Control.Monad (MonadPlus)
 import Control.Monad.Fail as Fail
diff --git a/src/Control/Carrier/NonDet/Church.hs b/src/Control/Carrier/NonDet/Church.hs
--- a/src/Control/Carrier/NonDet/Church.hs
+++ b/src/Control/Carrier/NonDet/Church.hs
@@ -24,7 +24,7 @@
 ) where
 
 import Control.Algebra
-import Control.Applicative (liftA2)
+import Control.Applicative
 import Control.Effect.NonDet
 import Control.Monad.Fail as Fail
 import Control.Monad.Fix
diff --git a/src/Control/Carrier/Reader.hs b/src/Control/Carrier/Reader.hs
--- a/src/Control/Carrier/Reader.hs
+++ b/src/Control/Carrier/Reader.hs
@@ -17,7 +17,7 @@
 ) where
 
 import Control.Algebra
-import Control.Applicative (Alternative(..), liftA2)
+import Control.Applicative
 import Control.Effect.Reader
 import Control.Monad (MonadPlus)
 import Control.Monad.Fail as Fail
diff --git a/src/Control/Carrier/State/Church.hs b/src/Control/Carrier/State/Church.hs
--- a/src/Control/Carrier/State/Church.hs
+++ b/src/Control/Carrier/State/Church.hs
@@ -23,7 +23,7 @@
 ) where
 
 import Control.Algebra
-import Control.Applicative (Alternative(..), liftA2)
+import Control.Applicative
 import Control.Effect.State
 import Control.Monad (MonadPlus)
 import Control.Monad.Fail as Fail
