The Traversable class generalises the function formerly known as mapM :: Monad m => (a -> m b) -> [a] -> m [b] to work with Applicative effects over structures other than lists.
Traversable
mapM :: Monad m => (a -> m b) -> [a] -> m [b]
Applicative