diff --git a/Numeric/FFT/Vector/Base.hsc b/Numeric/FFT/Vector/Base.hsc
--- a/Numeric/FFT/Vector/Base.hsc
+++ b/Numeric/FFT/Vector/Base.hsc
@@ -34,7 +34,7 @@
 import Control.Monad(forM_)
 import Foreign (Storable(..), Ptr, unsafePerformIO, FunPtr,
                 ForeignPtr, withForeignPtr, newForeignPtr)
-import Foreign.C (CInt, CUInt)
+import Foreign.C (CInt(..), CUInt)
 import Data.Bits ( (.&.) )
 import Data.Complex(Complex(..))
 import Foreign.Storable.Complex()
@@ -98,7 +98,7 @@
 --
 -- If @'planInputSize' p /= length v@, then calling
 -- @execute p v@ will throw an exception.
-execute :: (Vector v a, Vector v b, Storable a, Storable b) 
+execute :: (Vector v a, Vector v b, Storable a, Storable b)
             => Plan a b -> v a -> v b
 execute Plan{..} = \v -> -- fudge the arity to make sure it's always inlined
     if n /= V.length v
@@ -123,7 +123,7 @@
 --
 -- If @'planInputSize' p \/= length vIn@ or @'planOutputSize' p \/= length vOut@,
 -- then calling @unsafeExecuteM p vIn vOut@ will throw an exception.
-executeM :: forall m v a b . 
+executeM :: forall m v a b .
         (PrimMonad m, MVector v a, MVector v b, Storable a, Storable b)
             => Plan a b -- ^ The plan to run.
             -> v (PrimState m) a  -- ^ The input vector.
diff --git a/Numeric/FFT/Vector/Invertible.hs b/Numeric/FFT/Vector/Invertible.hs
--- a/Numeric/FFT/Vector/Invertible.hs
+++ b/Numeric/FFT/Vector/Invertible.hs
@@ -45,7 +45,7 @@
 import Data.Complex
 
 -- | A backward discrete Fourier transform which is the inverse of 'U.dft'.  The output and input sizes are the same (@n@).
--- 
+--
 -- @y_k = (1\/n) sum_(j=0)^(n-1) x_j e^(2pi i j k/n)@
 idft :: Transform (Complex Double) (Complex Double)
 idft = U.idft {normalization = \n -> constMultOutput $ 1 / toEnum n}
@@ -54,7 +54,7 @@
 -- 'U.dftR2C'.  (Specifically, @run dftC2R . run dftR2C == id@.)
 --
 -- This 'Transform' behaves differently than the others:
---  
+--
 --  - Calling @plan dftC2R n@ creates a 'Plan' whose /output/ size is @n@, and whose
 --    /input/ size is @n \`div\` 2 + 1@.
 --
@@ -77,13 +77,13 @@
 idct1 = U.dct1 {normalization = \n -> constMultOutput $ 1 / toEnum (2 * (n-1))}
 
 -- | A type-3 discrete cosine transform which is the inverse of 'U.dct2'.
--- 
+--
 -- @y_k = (1\/(2n)) [x_0 + 2 sum_(j=1)^(n-1) x_j cos(pi j(k+1\/2)\/n)]@
 idct2 :: Transform Double Double
 idct2 = U.dct3 {normalization = \n -> constMultOutput $ 1 / toEnum (2 * n)}
 
 -- | A type-2 discrete cosine transform which is the inverse of 'U.dct3'.
--- 
+--
 -- @y_k = (1\/n) sum_(j=0)^(n-1) x_j cos(pi(j+1\/2)k\/n)@
 idct3 :: Transform Double Double
 idct3 = U.dct2 {normalization = \n -> constMultOutput $ 1 / toEnum (2 * n)}
diff --git a/Numeric/FFT/Vector/Unitary.hs b/Numeric/FFT/Vector/Unitary.hs
--- a/Numeric/FFT/Vector/Unitary.hs
+++ b/Numeric/FFT/Vector/Unitary.hs
@@ -43,7 +43,7 @@
 dft = U.dft {normalization = \n -> constMultOutput $ 1 / sqrt (toEnum n)}
 
 -- | An inverse discrete Fourier transform.  The output and input sizes are the same (@n@).
--- 
+--
 -- @y_k = (1\/sqrt n) sum_(j=0)^(n-1) x_j e^(2pi i j k\/n)@
 idft :: Transform (Complex Double) (Complex Double)
 idft = U.idft {normalization = \n -> constMultOutput $ 1 / sqrt (toEnum n)}
@@ -59,7 +59,7 @@
 -- 'U.dftR2C'.  (Specifically, @run dftC2R . run dftR2C == id@.)
 --
 -- This 'Transform' behaves differently than the others:
---  
+--
 --  - Calling @plan dftC2R n@ creates a 'Plan' whose /output/ size is @n@, and whose
 --    /input/ size is @n \`div\` 2 + 1@.
 --
@@ -92,7 +92,7 @@
 
 
 -- | A type-4 discrete cosine transform.  It is its own inverse.
--- 
+--
 -- @y_k = (1\/sqrt n) sum_(j=0)^(n-1) x_j cos(pi(j+1\/2)(k+1\/2)\/n)@
 dct4 :: Transform Double Double
 dct4 = U.dct4 {normalization = \n -> constMultOutput $ 1 / sqrt (2 * toEnum n)}
diff --git a/Numeric/FFT/Vector/Unnormalized.hsc b/Numeric/FFT/Vector/Unnormalized.hsc
--- a/Numeric/FFT/Vector/Unnormalized.hsc
+++ b/Numeric/FFT/Vector/Unnormalized.hsc
@@ -68,13 +68,13 @@
             }
 
 -- | A forward discrete Fourier transform.  The output and input sizes are the same (@n@).
--- 
+--
 -- @y_k = sum_(j=0)^(n-1) x_j e^(-2pi i j k/n)@
 dft :: Transform (Complex Double) (Complex Double)
 dft = dft1D (#const FFTW_FORWARD)
 
 -- | A backward discrete Fourier transform.  The output and input sizes are the same (@n@).
--- 
+--
 -- @y_k = sum_(j=0)^(n-1) x_j e^(2pi i j k/n)@
 idft :: Transform (Complex Double) (Complex Double)
 idft = dft1D (#const FFTW_BACKWARD)
@@ -93,7 +93,7 @@
 -- | A backward discrete Fourier transform which produces real data.
 --
 -- This 'Transform' behaves differently than the others:
---  
+--
 --  - Calling @plan dftC2R n@ creates a 'Plan' whose /output/ size is @n@, and whose
 --    /input/ size is @n \`div\` 2 + 1@.
 --
@@ -120,43 +120,43 @@
 -- The real-even (DCT) and real-odd (DST) transforms.  The input and output sizes
 -- are the same (@n@).
 
--- | A type-1 discrete cosine transform.  
+-- | A type-1 discrete cosine transform.
 --
 -- @y_k = x_0 + (-1)^k x_(n-1) + 2 sum_(j=1)^(n-2) x_j cos(pi j k\/(n-1))@
 dct1 :: Transform Double Double
 dct1 = r2rTransform (#const  FFTW_REDFT00)
 
--- | A type-2 discrete cosine transform.  
+-- | A type-2 discrete cosine transform.
 --
 -- @y_k = 2 sum_(j=0)^(n-1) x_j cos(pi(j+1\/2)k\/n)@
 dct2 :: Transform Double Double
 dct2 = r2rTransform (#const  FFTW_REDFT10)
 
--- | A type-3 discrete cosine transform.  
+-- | A type-3 discrete cosine transform.
 --
 -- @y_k = x_0 + 2 sum_(j=1)^(n-1) x_j cos(pi j(k+1\/2)\/n)@
 dct3 :: Transform Double Double
 dct3 = r2rTransform (#const  FFTW_REDFT01)
 
--- | A type-4 discrete cosine transform.  
+-- | A type-4 discrete cosine transform.
 --
 -- @y_k = 2 sum_(j=0)^(n-1) x_j cos(pi(j+1\/2)(k+1\/2)\/n)@
 dct4 :: Transform Double Double
 dct4 = r2rTransform (#const  FFTW_REDFT11)
 
 -- | A type-1 discrete sine transform.
--- 
+--
 -- @y_k = 2 sum_(j=0)^(n-1) x_j sin(pi(j+1)(k+1)\/(n+1))@
 dst1 :: Transform Double Double
 dst1 = r2rTransform (#const  FFTW_RODFT00)
 
 -- | A type-2 discrete sine transform.
--- 
+--
 -- @y_k = 2 sum_(j=0)^(n-1) x_j sin(pi(j+1\/2)(k+1)\/n)@
 dst2 :: Transform Double Double
 dst2 = r2rTransform (#const  FFTW_RODFT10)
 
--- | A type-3 discrete sine transform.  
+-- | A type-3 discrete sine transform.
 --
 -- @y_k = (-1)^k x_(n-1) + 2 sum_(j=0)^(n-2) x_j sin(pi(j+1)(k+1\/2)/n)@
 dst3 :: Transform Double Double
diff --git a/vector-fftw.cabal b/vector-fftw.cabal
--- a/vector-fftw.cabal
+++ b/vector-fftw.cabal
@@ -1,6 +1,6 @@
 Name:                vector-fftw
 
-Version:             0.1.2
+Version:             0.1.3
 License:             BSD3
 License-file:        LICENSE
 Author:              Judah Jacobson
@@ -40,7 +40,7 @@
   Other-modules:
         Numeric.FFT.Vector.Base
   
-  Build-depends: base>=4.3 && < 4.6, vector==0.9.*, primitive==0.4.*,
+  Build-depends: base>=4.3 && < 4.7, vector>=0.9 && < 0.11, primitive>=0.4 && < 0.6,
                  storable-complex==0.2.*
   Extra-libraries: fftw3
 
