reduceRightOption

trait Collection[A] {
  def reduceRightOption[B :> A](f: (A, B) => B): Option[B]
}

reduceRightOption applies the binary operator op to each element, going from right to left, and the previous op result. The first time op is applied it’s fed with the last two elements. The final result is wrapped with Some.

On empty collections this function returns None.