diff --git a/Debug/SimpleReflect/Expr.hs b/Debug/SimpleReflect/Expr.hs
--- a/Debug/SimpleReflect/Expr.hs
+++ b/Debug/SimpleReflect/Expr.hs
@@ -1,9 +1,10 @@
+{-# LANGUAGE CPP #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Debug.SimpleReflect.Expr
 -- Copyright   :  (c) 2008-2014 Twan van Laarhoven
 -- License     :  BSD-style
--- 
+--
 -- Maintainer  :  twanvl@gmail.com
 -- Stability   :  experimental
 -- Portability :  portable
@@ -22,6 +23,9 @@
 
 import Data.List
 import Data.Monoid
+#if MIN_VERSION_base(4,9,0) && !(MIN_VERSION_base(4,11,0))
+import Data.Semigroup
+#endif
 import Control.Applicative
 
 ------------------------------------------------------------------------------
@@ -58,7 +62,7 @@
 lift :: Show a => a -> Expr
 lift x = emptyExpr { showExpr = \p -> showsPrec p x }
 
--- | This data type specifies the associativity of operators: left, right or none. 
+-- | This data type specifies the associativity of operators: left, right or none.
 data Associativity = InfixL | Infix | InfixR deriving Eq
 
 -- | An infix operator with the given associativity, precedence and name
@@ -124,7 +128,7 @@
 expr = id
 
 -- | Reduce (evaluate) an expression once.
---   
+--
 --   For example @reduce (1 + 2 + 3 + 4)  ==  3 + 3 + 4@
 reduce :: Expr -> Expr
 reduce e = maybe e id (reduced e)
@@ -220,8 +224,15 @@
 -- Other classes
 ------------------------------------------------------------------------------
 
+#if MIN_VERSION_base(4,9,0)
+instance Semigroup Expr where
+    (<>) = withReduce2 $ op InfixR 6 " <> "
+#endif
+
 instance Monoid Expr where
     mempty = var "mempty"
+#if !(MIN_VERSION_base(4,11,0))
     mappend = withReduce2 $ op InfixR 6 " <> "
+#endif
     mconcat = fun "mconcat"
 
diff --git a/simple-reflect.cabal b/simple-reflect.cabal
--- a/simple-reflect.cabal
+++ b/simple-reflect.cabal
@@ -1,5 +1,5 @@
 name:                simple-reflect
-version:             0.3.2
+version:             0.3.3
 homepage:            http://twanvl.nl/blog/haskell/simple-reflection-of-expressions
 license:             BSD3
 license-file:        LICENSE
