diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for base62
 
+## 0.1.0.2 -- 2022-12-07
+
+* Support GHC 9.2.
+
 ## 0.1.0.1 -- 2020-12-18
 
 * Switch from small-bytearray-builder to bytebuild
diff --git a/base62.cabal b/base62.cabal
--- a/base62.cabal
+++ b/base62.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name: base62
-version: 0.1.0.1
+version: 0.1.0.2
 synopsis: Base62 encoding and decoding
 description:
   Encode and decode using the base62 encoding scheme.
@@ -24,6 +24,7 @@
     , primitive >=0.7 && <0.8
     , bytebuild >=0.3.4 && <0.4
     , wide-word >=0.1.0.8 && <0.2
+    , word-compat >=0.0.4
   hs-source-dirs: src
   default-language: Haskell2010
   ghc-options: -Wall -O2
diff --git a/src/Data/Word/Base62.hs b/src/Data/Word/Base62.hs
--- a/src/Data/Word/Base62.hs
+++ b/src/Data/Word/Base62.hs
@@ -3,6 +3,7 @@
 {-# language GADTSyntax #-}
 {-# language LambdaCase #-}
 {-# language MagicHash #-}
+{-# language PatternSynonyms #-}
 {-# language RankNTypes #-}
 {-# language ScopedTypeVariables #-}
 {-# language TypeApplications #-}
@@ -34,10 +35,12 @@
 import Data.Primitive (MutableByteArray(MutableByteArray))
 import Data.WideWord.Word128 (Word128(Word128))
 import GHC.Exts (Char(C#),quotRemWord#,indexCharArray#)
-import GHC.Exts (ByteArray#,Int#,Int(I#),Word#,(+#),(-#),writeWord8Array#)
+import GHC.Exts (ByteArray#,Int#,Int(I#),Word#,(+#),(-#))
 import GHC.Exts (isTrue#,(>#))
+import GHC.Prim.Compat (writeWord8Array#)
 import GHC.ST (ST(ST))
-import GHC.Word (Word64(W64#),Word8(W8#),Word(W#))
+import GHC.Word (Word64(W64#),Word8,Word(W#))
+import GHC.Word.Compat (pattern W8#)
 
 import qualified Arithmetic.Nat as Nat
 import qualified Data.Bytes as Bytes
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -16,6 +16,7 @@
 
 import qualified Test.Tasty.QuickCheck
 import qualified Data.Bytes as Bytes
+import qualified Data.Bytes.Text.Ascii as Ascii
 import qualified Data.Word.Base62 as W
 import qualified GHC.Exts as Exts
 
@@ -30,7 +31,7 @@
     , testCase "A" $
         Nothing
         @=?
-        W.decode64 (Bytes.fromAsciiString "1IdHllabYuAOlNK4")
+        W.decode64 (Ascii.fromString "1IdHllabYuAOlNK4")
     ]
   , testGroup "Word128"
     [ testProperty "isomorphic" $ \w ->
@@ -40,7 +41,7 @@
     , testCase "A" $
         Nothing
         @=?
-        W.decode128 (Bytes.fromAsciiString "7n42DGM5Tflk9n8mt7Fhc9")
+        W.decode128 (Ascii.fromString "7n42DGM5Tflk9n8mt7Fhc9")
     ]
   ]
 
