fold

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

fold aplica el operador binario op a pares de elementos de esta colección hasta que el resultado final es calculado. El elemento neutro z puede ser utilizado múltiples veces.