diff --git a/error-codes.cabal b/error-codes.cabal
--- a/error-codes.cabal
+++ b/error-codes.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name: error-codes
-version: 0.1.0.0
+version: 0.1.0.1
 synopsis: Error code functions
 homepage: https://github.com/andrewthad/error-codes
 bug-reports: https://github.com/andrewthad/error-codes/issues
@@ -16,8 +16,9 @@
   exposed-modules:
     Foreign.C.Error.Describe
   build-depends:
-    , base >=4.11.1.0 && <5
-    , primitive >=0.6.4
+    , base >=4.11.1 && <5
+    , primitive >=0.7 && < 0.8
+    , primitive-unlifted >= 0.1 && < 0.2
   hs-source-dirs: src
   default-language: Haskell2010
   ghc-options: -Wall -O2
diff --git a/src/Foreign/C/Error/Describe.hs b/src/Foreign/C/Error/Describe.hs
--- a/src/Foreign/C/Error/Describe.hs
+++ b/src/Foreign/C/Error/Describe.hs
@@ -5,16 +5,18 @@
   , byteArray
   ) where
 
+import Control.Monad.ST (runST)
 import Data.Char (ord,chr)
-import Data.Primitive (SmallArray,UnliftedArray,ByteArray(..))
+import Data.Foldable (for_)
+import Data.Primitive (SmallArray,ByteArray(..))
+import Data.Primitive.Unlifted.Array (UnliftedArray)
 import Data.Word (Word8)
-import Foreign.C.Types (CInt)
 import Foreign.C.Error (Errno(..))
-import Data.Foldable (for_)
-import Control.Monad.ST (runST)
+import Foreign.C.Types (CInt)
 import qualified Data.Primitive as PM
-import qualified GHC.Exts as E
+import qualified Data.Primitive.Unlifted.Array as PM
 import qualified Foreign.C.Error as ERR
+import qualified GHC.Exts as E
 
 unErrno :: Errno -> CInt
 unErrno (Errno i) = i
