OCaml modules can transport definitions or mask equality between components of modules.
Consequently, name resolution depends on the typing of the module system and local resolution information is not enough to get a global view of the project. (Also type-directed disambiguation implies that name resolution is done during typechecking of terms and not before).
It is already outdated and many of the involved patches have evolved since this preview but it can already be played with and even be helpful in some cases