▲ | ackfoobar 2 days ago | |
I'm very embarrassed to say this. Those code examples weren't non-compiling OCaml, but valid SML. Once I remembered the existence of the language (in my defence it was never mentioned in the thread), I managed to compile the code, and confirm my suspicion: `val point: Bound.shape = Shape.Point` type-checks, because `type shape = S.shape`. To drive the point home, so does
So the module example does not show "this function won't return a point" as one would have hoped. |