minByOption

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

minByOption aplica f para cada elemento e retorna o elemento que emitiu o menor valor envolvido com Some.

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