diff --git a/contiguous.cabal b/contiguous.cabal
--- a/contiguous.cabal
+++ b/contiguous.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.0
 name: contiguous
-version: 0.6.1
+version: 0.6.1.1
 homepage: https://github.com/andrewthad/contiguous
 bug-reports: https://github.com/andrewthad/contiguous/issues
 author: Andrew Martin
@@ -29,9 +29,9 @@
     Data.Primitive.Contiguous.Shim
   hs-source-dirs: src
   build-depends:
-      base >=4.11.1.0 && <5
+      base >=4.14 && <5
     , primitive >= 0.7.2 && < 0.8
-    , primitive-unlifted >= 0.1 && < 0.2
+    , primitive-unlifted >= 0.1.3.1 && < 0.2
     , deepseq >= 1.4
     , run-st >= 0.1.1
   default-language: Haskell2010
diff --git a/src/Data/Primitive/Contiguous/Class.hs b/src/Data/Primitive/Contiguous/Class.hs
--- a/src/Data/Primitive/Contiguous/Class.hs
+++ b/src/Data/Primitive/Contiguous/Class.hs
@@ -1,4 +1,6 @@
 {-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE DataKinds #-}
 {-# LANGUAGE DefaultSignatures #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
@@ -39,10 +41,20 @@
 import GHC.Exts (ArrayArray#,Constraint,sizeofByteArray#,sizeofArray#,sizeofArrayArray#)
 import GHC.Exts (SmallMutableArray#,MutableArray#,MutableArrayArray#)
 import GHC.Exts (SmallArray#,Array#)
-import GHC.Exts (TYPE,RuntimeRep(UnliftedRep))
+import GHC.Exts (TYPE)
 
 import qualified Control.DeepSeq as DS
 
+-- In GHC 9.2 the UnliftedRep constructor of RuntimeRep was removed
+-- and replaced with a type synonym
+#if __GLASGOW_HASKELL__  >= 902
+import GHC.Exts (UnliftedRep)
+#else
+import GHC.Exts (RuntimeRep(UnliftedRep))
+type UnliftedRep = 'UnliftedRep
+#endif
+
+
 -- | Slices of immutable arrays: packages an offset and length with a backing array.
 --
 -- @since 0.6.0
@@ -381,9 +393,9 @@
 -- @since 0.6.0
 class (Contiguous arr) => ContiguousU arr where
   -- | The unifted version of the immutable array type (i.e. eliminates an indirection through a thunk).
-  type Unlifted arr = (r :: Type -> TYPE 'UnliftedRep) | r -> arr
+  type Unlifted arr = (r :: Type -> TYPE UnliftedRep) | r -> arr
   -- | The unifted version of the mutable array type (i.e. eliminates an indirection through a thunk).
-  type UnliftedMut arr = (r :: Type -> Type -> TYPE 'UnliftedRep) | r -> arr
+  type UnliftedMut arr = (r :: Type -> Type -> TYPE UnliftedRep) | r -> arr
   -- | Resize an array into one with the given size.
   resize :: (PrimMonad m, Element arr b)
          => Mutable arr (PrimState m) b
