diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,11 @@
+0.14.4 [2026.01.26]
+-------------------
+* Depend on `ghc-bignum` instead of `integer-gmp` on recent versions GHC.
+
+0.14.3 [2026.01.10]
+-------------------
+* Remove unused `ghc-prim` dependency.
+
 0.14.2 [2024.05.12]
 -------------------
 * Re-export `Log2` from `Data.Constraint.Nat`.
diff --git a/constraints.cabal b/constraints.cabal
--- a/constraints.cabal
+++ b/constraints.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.4
 name:          constraints
 category:      Constraints
-version:       0.14.2
+version:       0.14.4
 license:       BSD-2-Clause
 license-file:  LICENSE
 author:        Edward A. Kmett
@@ -19,9 +19,12 @@
 build-type:    Simple
 
 tested-with:
-  GHC == 9.8.1
-  GHC == 9.6.3
-  GHC == 9.4.7
+  GHC == 9.14.1
+  GHC == 9.12.2
+  GHC == 9.10.3
+  GHC == 9.8.4
+  GHC == 9.6.7
+  GHC == 9.4.8
   GHC == 9.2.8
   GHC == 9.0.2
   GHC == 8.10.7
@@ -56,11 +59,13 @@
     , binary         >= 0.7.1 && < 0.9
     , boring         >= 0.2   && < 0.3
     , deepseq        >= 1.3   && < 1.6
-    , ghc-prim
-    , hashable       >= 1.2   && < 1.5
+    , hashable       >= 1.2   && < 1.6
     , mtl            >= 2.2   && < 2.4
     , transformers   >= 0.5   && < 0.7
-  if !impl(ghc >= 9.0)
+  if impl(ghc >= 9.15)
+    build-depends:
+      ghc-bignum
+  elif impl(ghc < 9.0)
     build-depends:
       integer-gmp
 
diff --git a/src/Data/Constraint.hs b/src/Data/Constraint.hs
--- a/src/Data/Constraint.hs
+++ b/src/Data/Constraint.hs
@@ -110,7 +110,6 @@
 --
 data Dict :: Constraint -> * where
   Dict :: a => Dict a
-  deriving Typeable
 
 deriving stock instance (Typeable p, p) => Data (Dict p)
 deriving stock instance Eq (Dict a)
diff --git a/src/Data/Constraint/Deferrable.hs b/src/Data/Constraint/Deferrable.hs
--- a/src/Data/Constraint/Deferrable.hs
+++ b/src/Data/Constraint/Deferrable.hs
@@ -1,6 +1,5 @@
 {-# LANGUAGE AllowAmbiguousTypes #-}
 {-# LANGUAGE ConstraintKinds #-}
-{-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE PolyKinds #-}
 {-# LANGUAGE RankNTypes #-}
@@ -33,11 +32,10 @@
 import Data.Typeable (Typeable, cast, typeRep)
 import Data.Type.Equality ((:~:)(Refl))
 
-import GHC.Types (type (~~))
-import Data.Type.Equality ((:~~:)(HRefl))
+import Data.Type.Equality (type (~~), (:~~:)(HRefl))
 
 newtype UnsatisfiedConstraint = UnsatisfiedConstraint String
-  deriving (Typeable, Show)
+  deriving Show
 
 instance Exception UnsatisfiedConstraint
 
