maxByOption

trait Collection[A] {
  def maxByOption[W](f: (A) => W): A
}

maxByOption aplica f a cada elemento y devuelve el elemento que emitió el mayor valor envuelto con Some.

En colecciones vacías esta functión devuelve None.