maxByOption

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

maxByOption は、各要素に f を適用していき、最大の値を生成する元の要素を Some に包んで返します。

空のコレクションでは、この関数は None を返します。