Hello,
Consider the following module type definition:
module type Comparable = {
type t
let equal: (t, t) => bool
}
Now, the CmpInt module instance of the module type Comparable:
module CmpInt: Comparable = {
type t = int
let equal = (x: int, y: int) => x === y
}
If I write:
let x = CmpInt.equal(1, 1)
I get the compile error:
This has type: int
But this function argument is expecting: CompInt.t
CmpInt.t and int are considered different types. However, I expected CmpInt to be an alias for int.
Can I get CmpInt.t behaving as an alias for int?
Thanks in advance