diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for dependent-monoidal-map
 
+## 0.1.1.4
+
+* Add support for GHC 9.8
+
 ## 0.1.1.3
 
 * Update dependency version bounds
diff --git a/dependent-monoidal-map.cabal b/dependent-monoidal-map.cabal
--- a/dependent-monoidal-map.cabal
+++ b/dependent-monoidal-map.cabal
@@ -1,5 +1,5 @@
 name:               dependent-monoidal-map
-version:            0.1.1.3
+version:            0.1.1.4
 description:
   Data.Dependent.Map variant that appends conflicting entries when merging maps instead of discarding one side of the conflict.
 
@@ -14,14 +14,14 @@
 category:           Data
 synopsis:           Dependent map that uses semigroup mappend
 tested-with:
-  GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.10.2
+  GHC ==8.6.5 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.3 || ==9.8.1
 
 library
   exposed-modules:  Data.Dependent.Map.Monoidal
   build-depends:
-      aeson                        >=1.4    && <2.2
-    , base                         >=4.9    && <4.17
-    , constraints                  >=0.10.1 && <0.14
+      aeson                        >=1.4    && <2.3
+    , base                         >=4.9    && <4.20
+    , constraints                  >=0.10.1 && <0.15
     , constraints-extras           >=0.3.0  && <0.5
     , dependent-map                >=0.4    && <0.5
     , dependent-sum                >=0.7    && <0.8
diff --git a/src/Data/Dependent/Map/Monoidal.hs b/src/Data/Dependent/Map/Monoidal.hs
--- a/src/Data/Dependent/Map/Monoidal.hs
+++ b/src/Data/Dependent/Map/Monoidal.hs
@@ -21,6 +21,7 @@
 import Data.Dependent.Sum.Orphans ()
 import Data.GADT.Compare
 import Data.GADT.Show
+import Data.Kind (Type)
 import Data.Maybe
 import Data.Semigroup
 import Data.Some hiding (This)
@@ -28,7 +29,7 @@
 import Text.Read
 import Prelude hiding (lookup, map)
 
-newtype MonoidalDMap (f :: k -> *) (g :: k -> *) = MonoidalDMap { unMonoidalDMap :: DMap f g }
+newtype MonoidalDMap (f :: k -> Type) (g :: k -> Type) = MonoidalDMap { unMonoidalDMap :: DMap f g }
 
 -- Temporary shim to avoid making changes to dependent-sum and dependent-map.
 -- TODO: Finalise constraints-extras and optionally get it upstreamed into constraints.
@@ -95,7 +96,6 @@
 
 instance (Has' Semigroup f g, GCompare f) => Monoid (MonoidalDMap f g) where
   mempty = empty
-  mappend m n = m <> n
 
 deriving instance (FromJSON (DMap f g)) => FromJSON (MonoidalDMap f g)
 
