diff --git a/Data/Array/FM.hs b/Data/Array/FM.hs
--- a/Data/Array/FM.hs
+++ b/Data/Array/FM.hs
@@ -1,7 +1,7 @@
 {-# language
   UnboxedTuples, TypeOperators, MagicHash, RankNTypes, PolyKinds,
   TypeApplications, ScopedTypeVariables, BangPatterns, BlockArguments,
-  RoleAnnotations, TypeFamilies, AllowAmbiguousTypes #-}
+  RoleAnnotations, TypeFamilies, AllowAmbiguousTypes, CPP #-}
 {-# options_ghc -Wno-deprecations #-}
 
 {-|
@@ -174,7 +174,11 @@
 freeze (Array arr) = IO \s ->
   let len = sizeofMutableByteArray# arr
   in case newByteArray# len s of
+#if __GLASGOW_HASKELL__ >= 908
     (# s, marr #) -> case copyMutableByteArrayNonOverlapping# arr 0# marr 0# len s of
+#else
+    (# s, marr #) -> case copyMutableByteArray# arr 0# marr 0# len s of
+#endif
       s -> case unsafeFreezeByteArray# marr s of
         (# s, arr #) -> (# s, FI.Array arr #)
 {-# inline freeze #-}
diff --git a/primdata.cabal b/primdata.cabal
--- a/primdata.cabal
+++ b/primdata.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.38.1.
+-- This file has been generated from package.yaml by hpack version 0.39.1.
 --
 -- see: https://github.com/sol/hpack
 
 name:           primdata
-version:        0.1.2.3
+version:        0.1.2.4
 synopsis:       Minimum-overhead primitive datatypes
 category:       primitive
 author:         András Kovács
