I wonder whether this error is an example of the language being defined more restrictively than required. What is the reason that I get these results?
type a = int -> one -> int and one = Unused | One of a;;
type b = int -> b -> int
type a is accepted while type b is not. (b gives "The type abbreviation b is cyclic" However, in the uses that I intended, there won't be any actual difference between the two.
I'd appreciate an explanation about why there is difference between a and b.
Thanks
Bill Smith