diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,10 @@
 `small-bytearray-builder` is now just a compatibility shim
 to ease the migration process.
 
+## 0.3.16.2 -- 2024-02-06
+
+* Restore import statement for `liftA2` to fix build for GHC 9.4.
+
 ## 0.3.16.1 -- 2024-02-02
 
 * Remove all CPP
diff --git a/bytebuild.cabal b/bytebuild.cabal
--- a/bytebuild.cabal
+++ b/bytebuild.cabal
@@ -1,6 +1,6 @@
 cabal-version:   2.2
 name:            bytebuild
-version:         0.3.16.1
+version:         0.3.16.2
 synopsis:        Build byte arrays
 description:
   This is similar to the builder facilities provided by
@@ -28,6 +28,7 @@
 copyright:       2019 Andrew Martin
 category:        Data
 extra-doc-files: CHANGELOG.md
+tested-with:     GHC ==9.4.8 || ==9.6.3 || ==9.8.1
 
 common build-settings
   default-language: Haskell2010
@@ -94,7 +95,6 @@
   type:           exitcode-stdio-1.0
   hs-source-dirs: test common
   main-is:        Main.hs
-  ghc-options:    -O2
   other-modules:
     HexWord64
     Word16Tree
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -8,6 +8,8 @@
 
 import Prelude hiding (replicate)
 
+-- liftA2 is needed by GHC 9.4
+import Control.Applicative (liftA2)
 import Control.Monad.ST (runST)
 import Data.Bytes.Builder
 import Data.Bytes.Builder.Template (bldr)
