maxByOption

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

maxByOption aplica f para cada elemento e retorna o elemento que emitiu o maior valor envolvido com Some.

Em coleções vazias, essa função retorna None.