def mapM_(f, xs): """ mapM_ :: Monad m => (a -> m b) -> [a] -> m () mapM_(f) is equivalent to sequence_ * map(f) """ return sequence_(fmap(f, xs))
def mapM(f, xs): """ mapM :: Monad m => (a -> m b) -> [a] -> m [b] mapM(f) is equivalent to sequence * map(f) """ return sequence(fmap(f, xs))