F#转发types声明

我在F#中偶然发现了这个问题。 假设我想声明两种相互引用的types:

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

我该怎么做,所以编译器不会产生错误?

你用'和':

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

我想到了。 它的:

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

限制是types必须在同一个文件中声明。