fold

trait Collection[A] {
  def fold(z: A)(op: (A, A) => A): A
}

fold aplica o operador binário op aos pares de elementos nesta coleção até que o resultado final seja calculado. O elemento neutro z pode ser usado várias vezes.