diff --git a/deque.cabal b/deque.cabal
--- a/deque.cabal
+++ b/deque.cabal
@@ -1,7 +1,7 @@
 name:
   deque
 version:
-  0.2
+  0.2.1
 synopsis:
   Double-ended queue
 description:
@@ -43,3 +43,6 @@
     Deque
   build-depends:
     base >= 4.6 && < 5
+  if impl(ghc < 8.0)
+    build-depends:
+      semigroups >= 0.11 && < 0.19
diff --git a/library/Deque.hs b/library/Deque.hs
--- a/library/Deque.hs
+++ b/library/Deque.hs
@@ -5,8 +5,8 @@
 import Data.Foldable
 import Data.Traversable
 import Data.Maybe
-import Data.Monoid
-
+import Data.Monoid hiding ((<>))
+import Data.Semigroup
 
 -- |
 -- Double-ended queue (aka Dequeue or Deque) based on the head-tail linked list.
@@ -131,11 +131,14 @@
 
 deriving instance Show a => Show (Deque a)
 
+instance Semigroup (Deque a) where
+  (<>) = prepend
+
 instance Monoid (Deque a) where
   mempty =
     Deque [] []
   mappend =
-    prepend
+    (<>)
 
 instance Foldable Deque where
   foldr step init (Deque snocList consList) =
