diff --git a/src/Data/Maybe/Unpacked/Numeric/Int16.hs b/src/Data/Maybe/Unpacked/Numeric/Int16.hs
--- a/src/Data/Maybe/Unpacked/Numeric/Int16.hs
+++ b/src/Data/Maybe/Unpacked/Numeric/Int16.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE MagicHash #-}
+{-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE UnboxedSums #-}
 {-# LANGUAGE UnboxedTuples #-}
 
@@ -27,7 +28,8 @@
 
 import GHC.Base (build)
 import GHC.Exts (Int#, (>#), (<#))
-import GHC.Int (Int16(I16#))
+import GHC.Int (Int16)
+import GHC.Int.Compat (pattern I16#)
 
 import GHC.Read (Read(readPrec))
 import Text.Read (parens, Lexeme(Ident), lexP, (+++))
diff --git a/src/Data/Maybe/Unpacked/Numeric/Int32.hs b/src/Data/Maybe/Unpacked/Numeric/Int32.hs
--- a/src/Data/Maybe/Unpacked/Numeric/Int32.hs
+++ b/src/Data/Maybe/Unpacked/Numeric/Int32.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE MagicHash #-}
+{-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE UnboxedSums #-}
 {-# LANGUAGE UnboxedTuples #-}
 
@@ -26,7 +27,8 @@
 import Prelude hiding (Maybe,maybe)
 
 import GHC.Exts 
-import GHC.Int (Int32(I32#))
+import GHC.Int (Int32)
+import GHC.Int.Compat (pattern I32#)
 
 import GHC.Read (Read(readPrec))
 import Text.Read (parens, Lexeme(Ident), lexP, (+++))
diff --git a/src/Data/Maybe/Unpacked/Numeric/Int8.hs b/src/Data/Maybe/Unpacked/Numeric/Int8.hs
--- a/src/Data/Maybe/Unpacked/Numeric/Int8.hs
+++ b/src/Data/Maybe/Unpacked/Numeric/Int8.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE MagicHash #-}
+{-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE UnboxedSums #-}
 {-# LANGUAGE UnboxedTuples #-}
 
@@ -26,7 +27,8 @@
 import Prelude hiding (Maybe,maybe)
 
 import GHC.Exts 
-import GHC.Int (Int8(I8#))
+import GHC.Int (Int8)
+import GHC.Int.Compat (pattern I8#)
 
 import GHC.Read (Read(readPrec))
 import Text.Read (parens, Lexeme(Ident), lexP, (+++))
diff --git a/src/Data/Maybe/Unpacked/Numeric/Word16.hs b/src/Data/Maybe/Unpacked/Numeric/Word16.hs
--- a/src/Data/Maybe/Unpacked/Numeric/Word16.hs
+++ b/src/Data/Maybe/Unpacked/Numeric/Word16.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE MagicHash #-}
+{-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE UnboxedSums #-}
 {-# LANGUAGE UnboxedTuples #-}
 
@@ -27,7 +28,8 @@
 
 import GHC.Base (build)
 import GHC.Exts (Word#)
-import GHC.Word (Word16(W16#))
+import GHC.Word (Word16)
+import GHC.Word.Compat (pattern W16#)
 
 import GHC.Read (Read(readPrec))
 import Text.Read (parens, Lexeme(Ident), lexP, (+++))
diff --git a/src/Data/Maybe/Unpacked/Numeric/Word32.hs b/src/Data/Maybe/Unpacked/Numeric/Word32.hs
--- a/src/Data/Maybe/Unpacked/Numeric/Word32.hs
+++ b/src/Data/Maybe/Unpacked/Numeric/Word32.hs
@@ -33,7 +33,8 @@
 
 import GHC.Base (build)
 import GHC.Exts (Word#)
-import GHC.Word (Word32(W32#))
+import GHC.Word (Word32)
+import GHC.Word.Compat (pattern W32#)
 
 import GHC.Read (Read(readPrec))
 import Text.Read (parens, Lexeme(Ident), lexP, (+++))
diff --git a/src/Data/Maybe/Unpacked/Numeric/Word8.hs b/src/Data/Maybe/Unpacked/Numeric/Word8.hs
--- a/src/Data/Maybe/Unpacked/Numeric/Word8.hs
+++ b/src/Data/Maybe/Unpacked/Numeric/Word8.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE MagicHash #-}
+{-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE UnboxedSums #-}
 {-# LANGUAGE UnboxedTuples #-}
 
@@ -27,7 +28,8 @@
 
 import GHC.Base (build)
 import GHC.Exts (Word#)
-import GHC.Word (Word8(W8#))
+import GHC.Word (Word8)
+import GHC.Word.Compat (pattern W8#)
 
 import GHC.Read (Read(readPrec))
 import Text.Read (parens, Lexeme(Ident), lexP, (+++))
diff --git a/unpacked-maybe-numeric.cabal b/unpacked-maybe-numeric.cabal
--- a/unpacked-maybe-numeric.cabal
+++ b/unpacked-maybe-numeric.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name: unpacked-maybe-numeric
-version: 0.1.2.0
+version: 0.1.2.1
 synopsis: maybes of numeric values with fewer indirections
 description:
   This library provides one `Maybe` type per the usual numeric types:
@@ -48,6 +48,7 @@
     , base >=4.10.1.0 && <5
     , primitive >= 0.6.4
     , wide-word >= 0.1.0.8 && < 0.2
+    , word-compat >= 0.0.4 && <0.1
   ghc-options: -Wall -O2
   default-language: Haskell2010
 
