]>
I think this is similar to this simpler problem:
a.ml:
type t = { id: int }
let f x = print_int x.id; B.f x
a.mli:
type t
val f : t -> unit
b.ml:
let f x = print_int 42
b.mli:
val f : A.t -> unit
Which results in "This expression has type t but is here used with type
A.t" in a.ml, even though t and A.t are the same type. Is there a
general solution for this kind of situation?
Thanks,
Andre