I have been labouring under the mis-apprehension that the global Path.t's within the typed AST are sufficient to identify all dependencies of a module.
But I think the following case illustrates differently:
consider a toplevel definition:
let v = M.f ()
where M.f: unit -> N.t
the dependency on M is clear but because the value v is not inspected in any way, the type N.t is not a dependency unless going, say, beyond the type AST description and iterating over the term's exp_type: typexpr looking for global Path.t's.
Is this reasonable or is there a better way of going about identifying ALL dependencies?