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?