This makes it easy to construct from a function when T has an ordering, which is common Note, your function must respect the ordering
The difference between this and the default ordering on Option[T] is that it treats None as the max value, instead of the minimum value.