F # forward dichiarazioni di tipo

Mi sono imbattuto in questo problema in F #. Supponiamo, voglio dichiarare due tipi che si richiamano l’un l’altro:

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

Come faccio a farlo, quindi il compilatore non genera un errore?

Tu usi ‘e’:

 type firstType = | T1 of secondType and secondType = | T1 of firstType 

L’ho capito. Suo:

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

La limitazione è che i tipi devono essere dichiarati nello stesso file.