reduce
trait Collection[A] {
def reduce(op: (A, A) => A): A
}
reduce aplica el operador binario op a pares de elementos de esta colección hasta que el resultado final es calculado.
En colecciones vacías esta función lanza una excepción UnsupportedOperationException.