diff --git a/jukebox.cabal b/jukebox.cabal
--- a/jukebox.cabal
+++ b/jukebox.cabal
@@ -1,5 +1,5 @@
 Name: jukebox
-Version: 0.3.4
+Version: 0.3.5
 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
@@ -33,7 +33,7 @@
   Annotated d f <*> Annotated d' x =
     Annotated (d `mappend` d') (f <*> x)
 
-instance (Monoid d, Monoid (p a)) => Monoid (Annotated d p a) where
+instance (Semigroup d, Monoid d, Semigroup (p a), Monoid (p a)) => Monoid (Annotated d p a) where
   mempty = Annotated mempty mempty
   mappend = (<>)
 
