minByOption

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

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

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