diff --git a/colonnade.cabal b/colonnade.cabal
--- a/colonnade.cabal
+++ b/colonnade.cabal
@@ -1,5 +1,5 @@
 name:                colonnade
-version:             0.4.1
+version:             0.4.4
 synopsis:            Generic types and functions for columnar encoding and decoding
 description:         Please see README.md
 homepage:            https://github.com/andrewthad/colonnade#readme
diff --git a/src/Colonnade/Encoding.hs b/src/Colonnade/Encoding.hs
--- a/src/Colonnade/Encoding.hs
+++ b/src/Colonnade/Encoding.hs
@@ -32,9 +32,7 @@
               -> a
               -> m b
 runRowMonadic (Encoding v) g a =
-  --   fmap (mconcat . Vector.toList)
-  -- $ Vector.forM v
-  flip Internal.foldMapM v
+  flip Internal.foldlMapM v
   $ \e -> g (oneEncodingEncode e a)
 
 runRowMonadicWith :: (Monad m)
diff --git a/src/Colonnade/Internal.hs b/src/Colonnade/Internal.hs
--- a/src/Colonnade/Internal.hs
+++ b/src/Colonnade/Internal.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE DeriveFunctor #-}
 module Colonnade.Internal where
 
-import Data.Foldable (foldrM)
+import Data.Foldable (foldrM,foldlM)
 
 newtype EitherWrap a b = EitherWrap
   { getEitherWrap :: Either a b
@@ -18,6 +18,6 @@
 mapLeft _ (Right a) = Right a
 mapLeft f (Left a) = Left (f a)
 
-foldMapM :: (Foldable t, Monoid b, Monad m) => (a -> m b) -> t a -> m b
-foldMapM f = foldrM (\a b -> fmap (flip mappend b) (f a)) mempty
+foldlMapM :: (Foldable t, Monoid b, Monad m) => (a -> m b) -> t a -> m b
+foldlMapM f = foldlM (\b a -> fmap (mappend b) (f a)) mempty
 
