diff --git a/Data/Array/Repa/Algorithms/DFT/Center.hs b/Data/Array/Repa/Algorithms/DFT/Center.hs
--- a/Data/Array/Repa/Algorithms/DFT/Center.hs
+++ b/Data/Array/Repa/Algorithms/DFT/Center.hs
@@ -11,8 +11,8 @@
 
 -- | Apply the centering transform to a vector.
 center1d
-        :: Repr r Complex
-        => Array r DIM1 Complex -> Array D DIM1 Complex
+        :: Source r Complex
+        => Array  r DIM1 Complex -> Array D DIM1 Complex
 {-# INLINE center1d #-}
 center1d arr
  = traverse arr id
@@ -21,8 +21,8 @@
 
 -- | Apply the centering transform to a matrix.
 center2d
-        :: Repr r Complex
-        => Array r DIM2 Complex -> Array D DIM2 Complex
+        :: Source r Complex
+        => Array  r DIM2 Complex -> Array D DIM2 Complex
 {-# INLINE center2d #-}
 center2d arr
  = traverse arr id
@@ -31,8 +31,8 @@
 
 -- | Apply the centering transform to a 3d array.
 center3d 
-        :: Repr r Complex
-        => Array r DIM3 Complex -> Array D DIM3 Complex
+        :: Source r Complex
+        => Array  r DIM3 Complex -> Array D DIM3 Complex
 {-# INLINE center3d #-}
 center3d arr
  = traverse arr id
diff --git a/Data/Array/Repa/Algorithms/FFT.hs b/Data/Array/Repa/Algorithms/FFT.hs
--- a/Data/Array/Repa/Algorithms/FFT.hs
+++ b/Data/Array/Repa/Algorithms/FFT.hs
@@ -49,7 +49,7 @@
 
 -- 3D Transform -----------------------------------------------------------------------------------
 -- | Compute the DFT of a 3d array. Array dimensions must be powers of two else `error`.
-fft3dP 	:: (Repr r Complex, Monad m)
+fft3dP 	:: (Source r Complex, Monad m)
         => Mode
 	-> Array r DIM3 Complex
 	-> m (Array U DIM3 Complex)
@@ -76,7 +76,7 @@
 
 
 fftTrans3d 
-	:: Repr r Complex
+	:: Source r Complex
 	=> Double
 	-> Array r DIM3 Complex 
 	-> Array U DIM3 Complex
@@ -88,7 +88,7 @@
 
 
 rotate3d 
-        :: Repr r Complex
+        :: Source r Complex
         => Array r DIM3 Complex -> Array D DIM3 Complex
 rotate3d arr
  = backpermute (sh :. m :. k :. l) f arr
@@ -100,7 +100,7 @@
 
 -- Matrix Transform -------------------------------------------------------------------------------
 -- | Compute the DFT of a matrix. Array dimensions must be powers of two else `error`.
-fft2dP 	:: (Repr r Complex, Monad m)
+fft2dP 	:: (Source r Complex, Monad m)
         => Mode
 	-> Array r DIM2 Complex
 	-> m (Array U DIM2 Complex)
@@ -124,7 +124,7 @@
 
 
 fftTrans2d
-	:: Repr r Complex
+	:: Source r Complex
 	=> Double
 	-> Array r DIM2 Complex 
 	-> Array U DIM2 Complex
@@ -137,7 +137,7 @@
 
 -- Vector Transform -------------------------------------------------------------------------------
 -- | Compute the DFT of a vector. Array dimensions must be powers of two else `error`.
-fft1dP	:: (Repr r Complex, Monad m)
+fft1dP	:: (Source r Complex, Monad m)
         => Mode 
 	-> Array r DIM1 Complex 
 	-> m (Array U DIM1 Complex)
@@ -161,7 +161,7 @@
 
 
 fftTrans1d
-	:: Repr r Complex
+	:: Source r Complex
 	=> Double 
 	-> Array r DIM1 Complex
 	-> Array U DIM1 Complex
@@ -173,7 +173,7 @@
 
 
 -- Rank Generalised Worker ------------------------------------------------------------------------
-fft     :: (Shape sh, Repr r Complex)
+fft     :: (Shape sh, Source r Complex)
         => Double -> sh -> Int 
         -> Array r (sh :. Int) Complex
         -> Array U (sh :. Int) Complex
diff --git a/repa-algorithms.cabal b/repa-algorithms.cabal
--- a/repa-algorithms.cabal
+++ b/repa-algorithms.cabal
@@ -1,5 +1,5 @@
 Name:                repa-algorithms
-Version:             3.1.3.1
+Version:             3.2.1.1
 License:             BSD3
 License-file:        LICENSE
 Author:              The DPH Team
@@ -20,7 +20,7 @@
   Build-Depends: 
         base                 == 4.*,
         vector               == 0.9.*,
-        repa                 == 3.1.*
+        repa                 == 3.2.*
 
   ghc-options:
         -Wall -fno-warn-missing-signatures
