Я заметил, что похоже, что так себя ведет, но я не хочу на это полагаться, если это не преднамеренно. Вот код вопроса:
let bestValuesUnder max =
allValues
>> List.partition (fun value -> value < max)
>> function
| ([], bad) -> [List.min bad]
| (good, _) -> good // |> List.sortBy (fun value -> -value)
allValues
- это функция, которая возвращает список int.