This should use the results of the reachability pass instead of `ast::Public` due to things like reexports and generic functions and such.