如果我有两个模块 A 和 B,并在模块 A 中定义一个类型,
type t1 = THIS of int | THAT of char
然后想在模块 B 中进行一些模式匹配或构造该类型的对象,我必须使用类似的东西
A.THIS(3)
这就是它迫使我做的事情,即使在我有一些声明之后
type t2 = A.t1
在模块的签名和实现中。如果我想不那么冗长而不使用“A”怎么办?在模块 B 中?我可以制作一种全新的类型和一个将一种转换为另一种的函数,但这似乎很笨重。有什么我想念的吗?