implicitRequirementsShallow can be a very expensive function call in makeNewModSummary
`makeNewModSumary` calls `implicitRequirementsShallow`, which in turn calls `findImportedModule` for all the imports found in the `ModSummary`.
I think this is quite a serious misimplementation, since we will duplicate resolving what the import points to here and then again in `downsweep`. `makeNewModSummary` should just parse and return one-layer of the module graph, with `downsweep` being responsible for connecting the layers together and discovering the overall structure.
Even worse, if the project does not use backpack at all, this still results in many duplicated calls to `findImportedModule`. This led to a hotspot when profiling a client project with many modules and home units.
issue