Denormalizing link optimizations due to -no-alias-deps?

When using module aliases and -no-alias-deps, linking gets optimized in the sense that the intermediating modules containing the aliasing equations are not listed as linktime deps. Only the ultimately resolved dependency is.

This results in a puzzling error message if that dep happens to be missing at link time. For example, in a test case I have a dependency on metaquot. Omitting the ppxlib dependency at linktime results in the following message:

Error: No implementations provided for the following modules:

     Ppxlib_ast__Ast_helper_lite referenced from <path omitted>/Simple.cmx

(this is using the test case at https://github.com/thierry-martinez/metaquot/tree/master/tests/simple

The problem is that neither Ppxlib_ast__Ast_helper_lite nor Ast_helper_lite nor even lite appears in the text of Simple.ml (either before or after ppx transformation). But the text does contain Ppxlib.Ast_helper, and in the end that resolves to the former.

Fortunately I have sufficient experience dealing with module aliasing and deps etc. so it was not too hard to figure out what the problem was (although it did take 5-10 minutes). But for somebody with less experience this would, I suspect, be completely perplexing. Actually even for experienced programmers it would be nice to have an easy way to connect the original source to the resolved (linktime) module.

So my question is simple: is there any way to tell the compiler to print out the resolution “path” for such aliasings? In this case it goes something like

Ppxlib.Ast_helper ->  Ppxlib_ast.Ast_helper -> Ppxlib_ast.Ast_helper_lite

Thanks,

Gregg