В F # if
есть выражение, а не оператор. Каждое выражение должно возвращать значение. И оба if
и else
должны возвращать одинаковый тип значения, потому что F # - строго типизированный язык. Поэтому, если нет ветки else
, то по умолчанию у нее есть тип unit
, но если ваш if
возвращает значение с типом, отличным от unit
, тогда вам нужно иметь else
с тем же типом ,