This causes there to be almost no re-use in many cases. Here's an example of the dependency structure from https://github.com/rust-lang-nursery/rustc-benchmarks/blob/35b45b7f4418b83053f9a46d6b5d2e4b0d253526/regex-0.1.80/makefile#L33: ```rust HirBody(expand::find_cap_ref) -> ItemSignature(expand::find_cap_ref::{{closure}}) -> TraitSelect((core::ops::FnOnce, core::ops::FnOnce)) -> **everything** ``` cc @nikomatsakis