F# forward type declarations
You use 'and':
type firstType =
| T1 of secondType
and secondType =
| T1 of firstType
I figured it. It's:
type firstType =
| T1 of secondType
//................
and secondType =
| T1 of firstType
//................
The limitation is that the types have to be declared in the same file.