```purescript traverseList :: forall f a b. Applicative f => (a -> f b) -> List a -> f (List b) traverseList f = map reverse <<< foldl (\acc -> lift2 (flip (:)) acc <<< f) (pure Nil) ```