diff --git a/Data/Set/Monad.hs b/Data/Set/Monad.hs
--- a/Data/Set/Monad.hs
+++ b/Data/Set/Monad.hs
@@ -158,7 +158,6 @@
 import qualified Control.Applicative  as A
 import qualified Data.Foldable        as Foldable
 
-import Data.Monoid
 import Data.Foldable (Foldable)
 import Control.Arrow
 import Control.Monad
@@ -208,13 +207,16 @@
   mzero = Zero
   mplus = Plus
 
+instance Semigroup (Set a) where
+  (<>) = Plus
+
 instance (Ord a) => Monoid (Set a) where
   mempty  = empty
   mappend = union
   mconcat = unions
 
 instance Foldable Set where
-    foldr f def m = 
+    foldr f def m =
         case m of
             Prim s -> S.foldr f def s
             Return a -> f a def
diff --git a/set-monad.cabal b/set-monad.cabal
--- a/set-monad.cabal
+++ b/set-monad.cabal
@@ -1,5 +1,5 @@
 name:               set-monad
-version:            0.2.0.0
+version:            0.3.0.0
 synopsis:           Set monad
 description:
   The @set-monad@ library exports the @Set@ abstract data type and
@@ -88,5 +88,5 @@
 
 library
   exposed-modules:  Data.Set.Monad
-  build-depends:    base >=4 && <5, deepseq, containers
+  build-depends:    base >=4.9 && < 5, deepseq, containers
   ghc-options:      -O3 -Wall
