F # объявления прямого типа

Я наткнулся на эту проблему в F #. Предположим, я хочу объявить два типа, которые ссылаются друг на друга:


type firstType = 
     | T1 of secondType
     //................

type secondType =
     | T1 of firstType  
     //................    

Как это сделать, поэтому компилятор не генерирует ошибку?

Ответ 1

Вы используете 'и':

type firstType = 
     | T1 of secondType

and secondType =
     | T1 of firstType

Ответ 2

Я понял это. Это:


type firstType = 
     | T1 of secondType
     //................

and secondType =
     | T1 of firstType  
     //................   

Ответ 3

Ограничение заключается в том, что типы должны быть объявлены в одном файле.