diff --git a/src/Yi/Rope.hs b/src/Yi/Rope.hs
--- a/src/Yi/Rope.hs
+++ b/src/Yi/Rope.hs
@@ -1,3 +1,4 @@
+{-# language CPP #-}
 {-# language BangPatterns #-}
 {-# language DeriveDataTypeable #-}
 {-# language LambdaCase #-}
@@ -115,6 +116,11 @@
 countNl :: TX.Text -> Int
 countNl = TX.count "\n"
 
+#if __GLASGOW_HASKELL__ >= 804
+instance Semigroup Size where
+  (<>) = mappend
+#endif
+
 instance Monoid Size where
   mempty = Indices 0 0
   Indices c l `mappend` Indices c' l' = Indices (c + c') (l + l')
@@ -152,6 +158,11 @@
 
 instance IsString YiString where
   fromString = Yi.Rope.fromString
+
+#if __GLASGOW_HASKELL__ >= 804
+instance Semigroup YiString where
+  (<>) = mappend
+#endif
 
 instance Monoid YiString where
   mempty = Yi.Rope.empty
diff --git a/yi-rope.cabal b/yi-rope.cabal
--- a/yi-rope.cabal
+++ b/yi-rope.cabal
@@ -1,5 +1,5 @@
 name:                yi-rope
-version:             0.10
+version:             0.11
 synopsis:            A rope data structure used by Yi
 description:         A rope data structure used by Yi
 license:             GPL-2
