# Prelude.Traversable

interface Traversable
  traverse : Traversable t => Applicative f => (a -> f b) -> t a -> f (t b)

    Map each element of a structure to a computation, evaluate those
    computations and combine the results.

for : Traversable t => Applicative f => t a -> (a -> f b) -> f (t b)

  Like `traverse` but with the arguments flipped

for_ : Foldable t => Applicative f => t a -> (a -> f b) -> f ()

  Like `traverse_` but with the arguments flipped

sequence : Traversable t => Applicative f => t (f a) -> f (t a)

  Evaluate each computation in a structure and collect the results

sequence_ : Foldable t => Applicative f => t (f a) -> f ()

  Evaluate each computation in a structure and discard the results

traverse_ : Foldable t => Applicative f => (a -> f b) -> t a -> f ()

  Map each element of a structure to a computation, evaluate those
  computations and discard the results.