diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for primitive-sort
 
+## 0.1.2.3 -- 2024-02-06
+
+* Restore support for GHC 9.2 and GHC 9.4, which had been broken by
+  a assuming that `liftA2` was available from the prelude.
+
 ## 0.1.2.2 -- 2024-02-02
 
 * Replace imports of `GHC.Prim` with `GHC.Exts` so that the dependency
diff --git a/primitive-sort.cabal b/primitive-sort.cabal
--- a/primitive-sort.cabal
+++ b/primitive-sort.cabal
@@ -1,6 +1,6 @@
 cabal-version:   2.2
 name:            primitive-sort
-version:         0.1.2.2
+version:         0.1.2.3
 synopsis:        Sort primitive arrays
 description:
   This library provides a stable sorting algorithm for primitive arrays.
@@ -30,9 +30,9 @@
   hs-source-dirs:  src
   exposed-modules: Data.Primitive.Sort
   build-depends:
-    , base        >=0.4.9 && <5
-    , contiguous  >=0.6   && <0.7
-    , primitive   >=0.6.4 && <0.10
+    , base        >=0.4.16 && <5
+    , contiguous  >=0.6    && <0.7
+    , primitive   >=0.6.4  && <0.10
 
 test-suite test
   import:         build-settings
diff --git a/src/Data/Primitive/Sort.hs b/src/Data/Primitive/Sort.hs
--- a/src/Data/Primitive/Sort.hs
+++ b/src/Data/Primitive/Sort.hs
@@ -25,10 +25,12 @@
 import Data.Int
 import Data.Primitive (MutablePrimArray, Prim, PrimArray)
 import Data.Primitive.Contiguous (Contiguous, ContiguousU, Element, Mutable)
-import qualified Data.Primitive.Contiguous as C
 import Data.Word
 import GHC.Exts
 
+import qualified Control.Applicative as A
+import qualified Data.Primitive.Contiguous as C
+
 -- | Sort an immutable array. Duplicate elements are preserved.
 sort ::
   (Prim a, Ord a) =>
@@ -343,7 +345,7 @@
                   else return dstIx
           !a <- C.read marr dupIx
           !reducedLen <- deduplicate a (dupIx + 1) dupIx
-          liftA2 (,) (C.resize marr reducedLen) (C.resize marrTags reducedLen)
+          A.liftA2 (,) (C.resize marr reducedLen) (C.resize marrTags reducedLen)
     else return (marr, marrTags)
 
 splitMerge ::
