diff --git a/Data/Vector.hs b/Data/Vector.hs
--- a/Data/Vector.hs
+++ b/Data/Vector.hs
@@ -156,7 +156,7 @@
 import           Data.Primitive.Array
 import qualified Data.Vector.Fusion.Stream as Stream
 
-import Control.Monad ( liftM, ap )
+import Control.Monad ( MonadPlus(..), liftM, ap )
 import Control.Monad.ST ( ST )
 import Control.Monad.Primitive
 
@@ -274,6 +274,13 @@
 
   {-# INLINE (>>=) #-}
   (>>=) = flip concatMap
+
+instance MonadPlus Vector where
+  {-# INLINE mzero #-}
+  mzero = empty
+
+  {-# INLINE mplus #-}
+  mplus = (++)
 
 instance Applicative.Applicative Vector where
   {-# INLINE pure #-}
diff --git a/Data/Vector/Primitive/Safe.hs b/Data/Vector/Primitive/Safe.hs
--- a/Data/Vector/Primitive/Safe.hs
+++ b/Data/Vector/Primitive/Safe.hs
@@ -42,6 +42,7 @@
 
   -- ** Unfolding
   unfoldr, unfoldrN,
+  constructN, constructrN,
 
   -- ** Enumeration
   enumFromN, enumFromStepN, enumFromTo, enumFromThenTo,
diff --git a/Data/Vector/Safe.hs b/Data/Vector/Safe.hs
--- a/Data/Vector/Safe.hs
+++ b/Data/Vector/Safe.hs
@@ -41,6 +41,7 @@
 
   -- ** Unfolding
   unfoldr, unfoldrN,
+  constructN, constructrN,
 
   -- ** Enumeration
   enumFromN, enumFromStepN, enumFromTo, enumFromThenTo,
diff --git a/Data/Vector/Unboxed/Safe.hs b/Data/Vector/Unboxed/Safe.hs
--- a/Data/Vector/Unboxed/Safe.hs
+++ b/Data/Vector/Unboxed/Safe.hs
@@ -42,6 +42,7 @@
 
   -- ** Unfolding
   unfoldr, unfoldrN,
+  constructN, constructrN,
 
   -- ** Enumeration
   enumFromN, enumFromStepN, enumFromTo, enumFromThenTo,
diff --git a/vector.cabal b/vector.cabal
--- a/vector.cabal
+++ b/vector.cabal
@@ -1,5 +1,5 @@
 Name:           vector
-Version:        0.8
+Version:        0.9
 License:        BSD3
 License-File:   LICENSE
 Author:         Roman Leshchinskiy <rl@cse.unsw.edu.au>
@@ -41,6 +41,14 @@
         .
         * <http://trac.haskell.org/vector>
         .
+        Changes in version 0.9
+        .
+        * 'MonadPlus' instance for boxed vectors
+        .
+        * Export more @construct@ and @constructN@ from @Safe@ modules
+        .
+        * Require @primitive-0.4.0.1@
+        .
         Changes in version 0.8
         .
         * New functions: @constructN@, @constructrN@
@@ -154,7 +162,7 @@
   Install-Includes:
         vector.h
 
-  Build-Depends: base >= 4 && < 5, primitive >= 0.4 && < 0.5
+  Build-Depends: base >= 4 && < 5, primitive >= 0.4.0.1 && < 0.5
 
   if impl(ghc<6.13)
     Ghc-Options: -finline-if-enough-args -fno-method-sharing
