diff --git a/library/Success/Impure.hs b/library/Success/Impure.hs
--- a/library/Success/Impure.hs
+++ b/library/Success/Impure.hs
@@ -35,7 +35,7 @@
   (<|>) (Success m1) (Success m2) =
     Success (liftA2 (<|>) m1 m2)
 
-instance Monad m => Monad (Success e m) where
+instance (Applicative m, Monad m) => Monad (Success e m) where
   {-# INLINE return #-}
   return =
     pure
diff --git a/success.cabal b/success.cabal
--- a/success.cabal
+++ b/success.cabal
@@ -1,7 +1,7 @@
 name:
   success
 version:
-  0.2.1
+  0.2.1.1
 synopsis:
   A version of Either specialised for encoding of success or failure
 description:
