diff --git a/src/Text/Trifecta/Parser.hs b/src/Text/Trifecta/Parser.hs
--- a/src/Text/Trifecta/Parser.hs
+++ b/src/Text/Trifecta/Parser.hs
@@ -92,11 +92,11 @@
   {-# INLINE many #-}
   some p = (:) <$> p <*> Alternative.many p
 
-instance Semigroup (Parser a) where
-  (<>) = (<|>)
+instance Semigroup a => Semigroup (Parser a) where
+  (<>) = liftA2 (<>)
   {-# INLINE (<>) #-}
 
-instance Monoid (Parser a) where
+instance Monoid a => Monoid (Parser a) where
   mappend = liftA2 mappend
   {-# INLINE mappend #-}
   mempty = pure mempty
diff --git a/trifecta.cabal b/trifecta.cabal
--- a/trifecta.cabal
+++ b/trifecta.cabal
@@ -1,6 +1,6 @@
 name:          trifecta
 category:      Text, Parsing, Diagnostics, Pretty Printer, Logging
-version:       1.2
+version:       1.2.1
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
