reduceLeft
trait Collection[A] {
def reduceLeft[B :> A](op: (B, A) => B): B
}
reduceLeft aplica, de izquierda a derecha, el operador binario op a cada elemento y al resultado del anterior op.
La primera vez que op es aplicado es alimentado con los dos primeros elementos.
En colecciones con un único elemento dicho elemento es devuelto y el operador binario op no es aplicado.
En colecciones vacías esta función lanza una excepción UnsupportedOperationException.