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.