diff --git a/Data/Matrix.hs b/Data/Matrix.hs
--- a/Data/Matrix.hs
+++ b/Data/Matrix.hs
@@ -162,11 +162,12 @@
 mapRow :: (Int -> a -> a) -- ^ Function takes the current column as additional argument.
         -> Int            -- ^ Row to map.
         -> Matrix a -> Matrix a
-mapRow f r0 (M n m ro co w v) =
-  let r = r0 + ro
-  in  M n m ro co w $
-        V.imap (\k x -> let (i,j) = decode w k
-                        in  if i == r then f j x else x) v
+mapRow f r m =
+  matrix (nrows m) (ncols m) $ \(i,j) ->
+    let a = unsafeGet i j m
+    in  if i == r
+           then f j a
+           else a
 
 -- | /O(rows*cols)/. Map a function over a column.
 --   Example:
@@ -178,11 +179,12 @@
 mapCol :: (Int -> a -> a) -- ^ Function takes the current row as additional argument.
         -> Int            -- ^ Column to map.
         -> Matrix a -> Matrix a
-mapCol f c0 (M n m ro co w v) =
-  let c = c0 + co
-  in  M n m ro co w $
-        V.imap (\k x -> let (i,j) = decode w k
-                        in  if j == c then f i x else x) v
+mapCol f c m =
+  matrix (nrows m) (ncols m) $ \(i,j) ->
+    let a = unsafeGet i j m
+    in  if j == c
+           then f i a
+           else a
 
 -------------------------------------------------------
 -------------------------------------------------------
@@ -946,7 +948,7 @@
 scaleRow :: Num a => a -> Int -> Matrix a -> Matrix a
 scaleRow = mapRow . const . (*)
 
--- | Add to one row a scalar multiple of other row.
+-- | Add to one row a scalar multiple of another row.
 --   Example:
 --
 -- >                   ( 1 2 3 )   (  1  2  3 )
diff --git a/matrix.cabal b/matrix.cabal
--- a/matrix.cabal
+++ b/matrix.cabal
@@ -1,5 +1,5 @@
 Name: matrix
-Version: 0.3.4.0
+Version: 0.3.4.1
 Author: Daniel Díaz
 Category: Math
 Build-type: Simple
@@ -31,7 +31,7 @@
 Library
   Build-depends: base == 4.*
                , vector >= 0.10 && < 0.11
-               , deepseq >= 1.3.0.0 && < 1.4
+               , deepseq >= 1.3.0.0 && < 1.5
                , primitive >= 0.5 && < 0.6
                , loop >= 0.2
   Exposed-modules: Data.Matrix
