diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 # Hashtables changelog
 
+## 1.2.3.4
+
+Fix build with GHC 8.8.
+
 ## 1.2.3.3
 
 Fix build with certain versions of `primitive` (thx again Carter)
diff --git a/hashtables.cabal b/hashtables.cabal
--- a/hashtables.cabal
+++ b/hashtables.cabal
@@ -1,12 +1,12 @@
 Cabal-Version: 2.2
 Name:                hashtables
-Version:             1.2.3.3
+Version:             1.2.3.4
 Synopsis:            Mutable hash tables in the ST monad
 Homepage:            http://github.com/gregorycollins/hashtables
 License:             BSD-3-Clause
 License-file:        LICENSE
 Author:              Gregory Collins
-Maintainer:          greg@gregorycollins.net, mgoremeier@gmail.com
+Maintainer:          greg@gregorycollins.net, mgoremeier@gmail.com, erikd@mega-nerd.com
 Copyright:           (c) 2011-2014, Google, Inc., 2016-present contributors
 Category:            Data
 Build-type:          Simple
@@ -185,7 +185,7 @@
                      Data.HashTable.Internal.Linear.Bucket
 
   Build-depends:     base      >= 4.7 && <5,
-                     hashable  >= 1.1 && <1.2 || >= 1.2.1 && <1.3,
+                     hashable  >= 1.1 && <1.2 || >= 1.2.1 && <1.4,
                      primitive,
                      vector    >= 0.7 && <0.13
 
diff --git a/src/Data/HashTable/Internal/CacheLine.hs b/src/Data/HashTable/Internal/CacheLine.hs
--- a/src/Data/HashTable/Internal/CacheLine.hs
+++ b/src/Data/HashTable/Internal/CacheLine.hs
@@ -38,7 +38,9 @@
 import           Data.HashTable.Internal.Utils
 import           GHC.Exts
 
-#if __GLASGOW_HASKELL__ >= 707
+#if __GLASGOW_HASKELL__ >= 808
+-- Nothing to do here.
+#elif __GLASGOW_HASKELL__ >= 707
 import           GHC.Exts                         (isTrue#)
 #else
 isTrue# :: Bool -> Bool
diff --git a/src/Data/HashTable/Internal/CheapPseudoRandomBitStream.hs b/src/Data/HashTable/Internal/CheapPseudoRandomBitStream.hs
--- a/src/Data/HashTable/Internal/CheapPseudoRandomBitStream.hs
+++ b/src/Data/HashTable/Internal/CheapPseudoRandomBitStream.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP #-}
 
 module Data.HashTable.Internal.CheapPseudoRandomBitStream
   ( BitStream
@@ -13,7 +14,12 @@
 import           Data.STRef
 import           Data.Vector.Unboxed           (Vector)
 import qualified Data.Vector.Unboxed           as V
+
+#if __GLASGOW_HASKELL__ >= 808
+import           Data.Word                     (Word32, Word64)
+#else
 import           Data.Word                     (Word, Word32, Word64)
+#endif
 
 import           Data.HashTable.Internal.Utils
 
diff --git a/src/Data/HashTable/Internal/UnsafeTricks.hs b/src/Data/HashTable/Internal/UnsafeTricks.hs
--- a/src/Data/HashTable/Internal/UnsafeTricks.hs
+++ b/src/Data/HashTable/Internal/UnsafeTricks.hs
@@ -23,7 +23,9 @@
 import           GHC.Exts
 import           Unsafe.Coerce
 
-#if __GLASGOW_HASKELL__ >= 707
+#if __GLASGOW_HASKELL__ >= 808
+-- Nothing to do here.
+#elif __GLASGOW_HASKELL__ >= 707
 import           GHC.Exts                         (isTrue#)
 #else
 isTrue# :: Bool -> Bool
@@ -38,7 +40,7 @@
 type Key a = Any
 
 #else
-data Key a = Key !a 
+data Key a = Key !a
            | EmptyElement
            | DeletedElement
   deriving (Show)
