diff --git a/jukebox.cabal b/jukebox.cabal
--- a/jukebox.cabal
+++ b/jukebox.cabal
@@ -1,5 +1,5 @@
 Name: jukebox
-Version: 0.3.2
+Version: 0.3.3
 Cabal-version: >= 1.8
 Build-type: Simple
 Author: Nick Smallbone
diff --git a/src/Jukebox/Options.hs b/src/Jukebox/Options.hs
--- a/src/Jukebox/Options.hs
+++ b/src/Jukebox/Options.hs
@@ -16,6 +16,7 @@
 #if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
 import Data.Monoid
+import Data.Semigroup(Semigroup(..))
 #endif
 
 ----------------------------------------------------------------------
@@ -34,8 +35,11 @@
 
 instance (Monoid d, Monoid (p a)) => Monoid (Annotated d p a) where
   mempty = Annotated mempty mempty
-  Annotated d p `mappend` Annotated d' p' =
-    Annotated (d `mappend` d') (p `mappend` p')
+  mappend = (<>)
+
+instance (Semigroup d, Semigroup (p a)) => Semigroup (Annotated d p a) where
+  Annotated d p <> Annotated d' p' =
+    Annotated (d <> d') (p <> p')
 
 ----------------------------------------------------------------------
 -- The ArgParser type: parsing of single flags.
diff --git a/src/Jukebox/TPTP/Print.hs b/src/Jukebox/TPTP/Print.hs
--- a/src/Jukebox/TPTP/Print.hs
+++ b/src/Jukebox/TPTP/Print.hs
@@ -4,6 +4,7 @@
        where
 
 #include "errors.h"
+import Prelude hiding ((<>))
 import Data.Char
 import Data.Maybe
 import Text.PrettyPrint.HughesPJ
