diff --git a/egison.cabal b/egison.cabal
--- a/egison.cabal
+++ b/egison.cabal
@@ -1,5 +1,5 @@
 Name:                egison
-Version:             3.6.1
+Version:             3.6.2
 Synopsis:            Programming language with non-linear pattern-matching against non-free data
 Description:
   An interpreter for Egison, a **pattern-matching-oriented**, purely functional programming language.
diff --git a/hs-src/Language/Egison/Primitives.hs b/hs-src/Language/Egison/Primitives.hs
--- a/hs-src/Language/Egison/Primitives.hs
+++ b/hs-src/Language/Egison/Primitives.hs
@@ -70,7 +70,7 @@
   arg' <- evalWHNF arg
   case arg' of
     (TensorData (Tensor ns ds js)) -> do
-      ds' <- mapM (\d -> f d) ds
+      ds' <- V.mapM (\d -> f d) ds
       fromTensor (Tensor ns ds' js) >>= return . Value 
     _ -> f arg' >>= return . Value
 
@@ -89,10 +89,10 @@
     [(TensorData t1@(Tensor _ _ _)), (TensorData t2@(Tensor _ _ _))] -> do
       tProduct f t1 t2 >>= fromTensor >>= return . Value
     [(TensorData(Tensor ns ds js)), val] -> do
-      ds' <- mapM (\d -> f d val) ds
+      ds' <- V.mapM (\d -> f d val) ds
       fromTensor (Tensor ns ds' js) >>= return . Value 
     [val, (TensorData (Tensor ns ds js))] -> do
-      ds' <- mapM (\d -> f val d) ds
+      ds' <- V.mapM (\d -> f val d) ds
       fromTensor (Tensor ns ds' js) >>= return . Value 
     [val, val'] -> f val val' >>= return . Value
     _ -> throwError $ ArgumentsNumPrimitive 2 $ length args'
diff --git a/hs-src/Language/Egison/Types.hs b/hs-src/Language/Egison/Types.hs
--- a/hs-src/Language/Egison/Types.hs
+++ b/hs-src/Language/Egison/Types.hs
@@ -831,7 +831,7 @@
   t2' <- tTranspose js1 t2
   case t2' of
     (Tensor ns2 xs2 _)
-      | ns2 == ns1 -> do ys <- mapM (\(x1,x2) -> f x1 x2) (V.zip xs1 xs2)
+      | ns2 == ns1 -> do ys <- V.mapM (\(x1,x2) -> f x1 x2) (V.zip xs1 xs2)
                          return (Tensor ns1 ys js1)
       | otherwise -> throwError $ InconsistentTensorSize
 
@@ -871,10 +871,10 @@
   g (Superscript i) = (SupSubscript i)
   g (Subscript i) = (SupSubscript i)
 tProduct f (Scalar x) (Tensor ns xs js) = do
-  xs' <- mapM (f x) xs
+  xs' <- V.mapM (f x) xs
   return $ Tensor ns xs' js
 tProduct f (Tensor ns xs js) (Scalar x) = do
-  xs' <- mapM (flip f x) xs
+  xs' <- V.mapM (flip f x) xs
   return $ Tensor ns xs' js
 tProduct f (Scalar x1) (Scalar x2) = f x1 x2 >>= return . Scalar
 
