diff --git a/Language/Haskell/TH/ExpandSyns.hs b/Language/Haskell/TH/ExpandSyns.hs
--- a/Language/Haskell/TH/ExpandSyns.hs
+++ b/Language/Haskell/TH/ExpandSyns.hs
@@ -12,11 +12,11 @@
                                      ,substInCon
                                      ,evades,evade) where
 
+import Language.Haskell.TH.ExpandSyns.SemigroupCompat as Sem
 import Language.Haskell.TH hiding(cxt)
 import qualified Data.Set as Set
 import Data.Generics
 import Control.Monad
-import Data.Monoid
 import Prelude
 
 -- For ghci
@@ -79,6 +79,9 @@
   }
 
 
+instance Semigroup SynonymExpansionSettings where
+  SynonymExpansionSettings w1 <> SynonymExpansionSettings w2 =
+    SynonymExpansionSettings (w1 && w2)
 
 -- | Default settings ('mempty'):
 --
@@ -91,8 +94,12 @@
       sesWarnTypeFamilies = True
     }
 
-  mappend (SynonymExpansionSettings w1) (SynonymExpansionSettings w2) =
-    SynonymExpansionSettings (w1 && w2)
+#if !MIN_VERSION_base(4,11,0)
+-- starting with base-4.11, mappend definitions are redundant;
+-- at some point `mappend` will be removed from `Monoid`
+  mappend = (Sem.<>)
+#endif
+
 
 -- | Suppresses the warning that type families are unsupported.
 noWarnTypeFamilies :: SynonymExpansionSettings
diff --git a/Language/Haskell/TH/ExpandSyns/SemigroupCompat.hs b/Language/Haskell/TH/ExpandSyns/SemigroupCompat.hs
new file mode 100644
--- /dev/null
+++ b/Language/Haskell/TH/ExpandSyns/SemigroupCompat.hs
@@ -0,0 +1,17 @@
+{-# LANGUAGE CPP #-}
+module Language.Haskell.TH.ExpandSyns.SemigroupCompat(Semigroup(..), Monoid(..)) where
+
+#if MIN_VERSION_base(4,9,0)
+
+import Data.Semigroup
+
+#else
+
+import Data.Monoid(Monoid(..))
+import Prelude
+
+infixr 6 <>
+class Semigroup a where
+  (<>) :: a -> a -> a
+
+#endif
diff --git a/changelog.markdown b/changelog.markdown
--- a/changelog.markdown
+++ b/changelog.markdown
@@ -1,3 +1,7 @@
+## 0.4.4.0
+
+*   Made `SynonymExpansionSettings` an instance of `Semigroup` (fixes build with GHC 8.4.1 alpha).
+
 ## 0.4.3.0
 
 *   Added support for GHC 8.2.1 / template-haskell-2.12 (Thanks to Ryan Scott)
diff --git a/th-expand-syns.cabal b/th-expand-syns.cabal
--- a/th-expand-syns.cabal
+++ b/th-expand-syns.cabal
@@ -1,5 +1,5 @@
 name:                th-expand-syns
-version:             0.4.3.0
+version:             0.4.4.0
 synopsis:            Expands type synonyms in Template Haskell ASTs
 description:         Expands type synonyms in Template Haskell ASTs.
 category:            Template Haskell
@@ -18,17 +18,18 @@
     GHC == 7.6.3
     GHC == 7.8.4
     GHC == 7.10.3
-    GHC == 8.0.1
-    GHC == 8.2.1
+    GHC == 8.0.2
+    GHC == 8.2.2
 
 source-repository head
  type: git
  location: git://github.com/DanielSchuessler/th-expand-syns.git
 
 Library
-    build-depends:       base >= 4 && < 5, template-haskell < 2.13, syb, containers
+    build-depends:       base >= 4 && < 5, template-haskell < 2.14, syb, containers
     ghc-options:
     exposed-modules:     Language.Haskell.TH.ExpandSyns
+    other-modules:       Language.Haskell.TH.ExpandSyns.SemigroupCompat
 
 Test-Suite test-th-expand-syns
     type:               exitcode-stdio-1.0
