diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+3.3
+---
+* Added more `Semigroup` instances.
+
 3.2.1
 -----
 * Refactored build system.
diff --git a/src/Data/Vector/Instances.hs b/src/Data/Vector/Instances.hs
--- a/src/Data/Vector/Instances.hs
+++ b/src/Data/Vector/Instances.hs
@@ -29,6 +29,9 @@
 import Data.Vector.Fusion.Stream.Size
 import Data.Vector (Vector,(++),drop,length,imap,ifoldr, ifoldl, izipWith,(!?),(//), generate)
 import qualified Data.Vector as Vector
+import qualified Data.Vector.Unboxed as Unboxed
+import qualified Data.Vector.Storable as Storable
+import qualified Data.Vector.Primitive as Primitive
 
 type instance Key Vector = Int
 
@@ -87,7 +90,7 @@
 instance Semigroup (Vector a) where
   (<>) = (++)
   {-# INLINE (<>) #-}
-  
+
 instance Alt Vector where
   (<!>) = (++)
   {-# INLINE (<!>) #-}
@@ -107,4 +110,14 @@
   extended f v = generate (length v) (\n -> f (drop n v))
   {-# INLINE extended #-}
 
+instance Unboxed.Unbox a => Semigroup (Unboxed.Vector a) where
+  (<>) = (Unboxed.++)
+  {-# INLINE (<>) #-}
 
+instance Storable.Storable a => Semigroup (Storable.Vector a) where
+  (<>) = (Storable.++)
+  {-# INLINE (<>) #-}
+
+instance Primitive.Prim a => Semigroup (Primitive.Vector a) where
+  (<>) = (Primitive.++)
+  {-# INLINE (<>) #-}
diff --git a/vector-instances.cabal b/vector-instances.cabal
--- a/vector-instances.cabal
+++ b/vector-instances.cabal
@@ -1,5 +1,5 @@
 name:                vector-instances
-version:             3.2.1
+version:             3.3
 synopsis:            Orphan Instances for 'Data.Vector'
 homepage:            http://github.com/ekmett/vector-instances
 bug-reports:         http://github.com/ekmett/vector-instances/issues
