diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,8 @@
 # Revision history for th-abstraction
 
+## 0.7.2.0 -- 2026.01.03
+* Support GHC 9.14.
+
 ## 0.7.1.0 -- 2024.12.05
 * Drop support for pre-8.0 versions of GHC.
 
diff --git a/src/Language/Haskell/TH/Datatype/Internal.hs b/src/Language/Haskell/TH/Datatype/Internal.hs
--- a/src/Language/Haskell/TH/Datatype/Internal.hs
+++ b/src/Language/Haskell/TH/Datatype/Internal.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE CPP #-}
+{-# LANGUAGE TemplateHaskellQuotes #-}
 
 #if MIN_VERSION_template_haskell(2,12,0)
 {-# Language Safe #-}
@@ -20,13 +21,13 @@
 
 import Language.Haskell.TH.Syntax
 
+#if MIN_VERSION_base(4,13,0)
+import Data.Type.Equality
+#endif
+
 eqTypeName :: Name
-#if !(MIN_VERSION_base(4,13,0))
-eqTypeName = mkNameG_tc "base" "Data.Type.Equality" "~"
+#if MIN_VERSION_base(4,13,0)
+eqTypeName = ''(~)
 #else
-eqTypeName = mkNameG_tc "ghc-prim" "GHC.Types" "~"
+eqTypeName = mkNameG_tc "base" "Data.Type.Equality" "~"
 #endif
-
--- This is only needed for GHC 7.6-specific bug
-starKindName :: Name
-starKindName = mkNameG_tc "ghc-prim" "GHC.Prim" "*"
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -17,6 +17,9 @@
 {-# LANGUAGE UnliftedDatatypes #-}
 #endif
 
+-- We should aim to enable -Wincomplete-uni-patterns long-term. See #121.
+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
+
 {-|
 Module      : Main
 Description : Test cases for the th-abstraction package
@@ -1061,6 +1064,8 @@
            -> unless (a1 == a2) $
                 fail $ "Two occurrences of the same variable have different names: "
                     ++ show [a1, a2]
+         _ -> fail $ "Unexpected DatatypeInfo for T48: "
+                    ++ show info
        [| return () |]
    )
 
diff --git a/test/Types.hs b/test/Types.hs
--- a/test/Types.hs
+++ b/test/Types.hs
@@ -14,6 +14,9 @@
 {-# Language TypeData #-}
 #endif
 
+-- We should aim to enable -Wincomplete-uni-patterns long-term. See #121.
+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
+
 {-|
 Module      : Types
 Description : Test cases for the th-abstraction package
diff --git a/th-abstraction.cabal b/th-abstraction.cabal
--- a/th-abstraction.cabal
+++ b/th-abstraction.cabal
@@ -1,5 +1,5 @@
 name:                th-abstraction
-version:             0.7.1.0
+version:             0.7.2.0
 synopsis:            Nicer interface for reified information about data types
 description:         This package normalizes variations in the interface for
                      inspecting datatype information via Template Haskell
@@ -17,7 +17,7 @@
 build-type:          Simple
 extra-source-files:  ChangeLog.md README.md
 cabal-version:       >=1.10
-tested-with:         GHC==9.12.1, GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2
+tested-with:         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, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2
 
 source-repository head
   type: git
@@ -28,9 +28,8 @@
                        Language.Haskell.TH.Datatype.TyVarBndr
   other-modules:       Language.Haskell.TH.Datatype.Internal
   build-depends:       base             >=4.9   && <5,
-                       ghc-prim,
-                       template-haskell >=2.11  && <2.24,
-                       containers       >=0.4   && <0.8
+                       template-haskell >=2.11  && <2.25,
+                       containers       >=0.4   && <0.9
   hs-source-dirs:      src
   default-language:    Haskell2010
 
