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.
f
Some
Em coleções vazias, essa função retorna None.
None