Допустим имеется тип Type. A, A1, B, B1, B2, B, C - некие типы.
Код:
type Type = | Cons1 A A1 | Cons2 B B1 B2 | Cons3 C
И имеется функция, которая принимает два объекта типа Type.
Функция должна выдавать true, если конструкторы объектов одинаковые, false в противном случае.
Я не смог найти в F# функцию для извлечения конструктора и сравнения его с другим.
Всевозможный ручной перебор комбинаций конструкторов слишком затратный в реальной программе, так как имеется много конструкторов.
Подскажите, возможно ли такое реализовать и если да, то как, а если нет, то какие пути обхода существуют.