foldRight
trait Collection[A] {
def foldRight[B](z: B)(op: (A, B) => B): B
}
foldRight aplica, da direita para a esquerda, o operador binário op a cada elemento e o resultado da anterior op.
A primeira vez que op é aplicada, ela é alimentada com o valor inicial z.
Em coleções vazias, essa função nem aplica op e o valor inicial z é retornado diretamente.