F # упрощает определение типов, таких как
type coords = { X : float; Y : float }
но как определить аргументы ограничения/проверки для конструктора, не вдаваясь в более подробный синтаксис определения класса? Например. если я хочу, чтобы координаты начинались с (0,0) или генерировали исключение.
Кроме того, если я изменю свое определение на класс, мне нужно реализовать Equals() и т.д. весь код плиты котла мне не нужен (и у меня есть на С#, который я пытаюсь уйти).