I have some module context(s) defined like this, where both Parent
and Child
are required to have a type t
to meet some interface:
module Parent = {
type t = {foo: int};
module Child = {
type t = {bar: int};
let fromParent: t => t = ({foo}) => {bar: foo};
};
};
How can I define the signature for fromParent
since both types are named t
? I remember coming across a way to describe this when dealing with something like Cmp.t = option(Parent.t)
, but I no longer have access to that codebase and I don’t recall where in the (ocaml? reasonml? bucklescript?) docs I came across the solution.
Any hints would be appreciated.