diff --git a/Data/Semigroup.hs b/Data/Semigroup.hs
--- a/Data/Semigroup.hs
+++ b/Data/Semigroup.hs
@@ -5,6 +5,12 @@
                      ) where
 
 import Data.Monoid
+import Data.Sequence
+import qualified Data.Set as S
+import qualified Data.Map as M
+import qualified Data.IntSet as IS
+import qualified Data.IntMap as IM
+import qualified Data.ByteString as B
 import Control.Monad.Identity
 import Control.Applicative
 
@@ -74,3 +80,22 @@
 
 instance Semigroup [a] where
   (.++.) = (++)
+
+instance Semigroup (Seq a) where
+  (.++.) = mappend
+
+instance Ord a => Semigroup (S.Set a) where
+  (.++.) = mappend
+
+instance Ord k => Semigroup (M.Map k v) where
+  (.++.) = mappend
+
+instance Semigroup IS.IntSet where
+  (.++.) = mappend
+
+instance Semigroup (IM.IntMap v) where
+  (.++.) = mappend
+
+instance Semigroup B.ByteString where
+  (.++.) = mappend
+
diff --git a/Semigroup.cabal b/Semigroup.cabal
--- a/Semigroup.cabal
+++ b/Semigroup.cabal
@@ -1,5 +1,5 @@
 Name:                Semigroup
-Version:             0.0.5
+Version:             0.0.6
 License:             BSD3
 License-File:        LICENSE
 Synopsis:            A semigroup
@@ -16,7 +16,7 @@
   Description:       Choose the new, split-up base package.
 
 Library
-  Build-Depends:     base < 5 && >= 3, mtl
+  Build-Depends:     base < 5 && >= 3, mtl, containers, bytestring
 
   GHC-Options:       -Wall
   Exposed-Modules:   Data.Semigroup
