GHCi: Reimplement +c using the same machinery as .hie files
A number of operations driven by +c in GHCi are inefficient, for example finding all the types in a module involves a lot of redundant calls to dsExpr.
A lot of the same logic is implemented more efficiently in the logic which generates .hie files. It would be good to unify the two mechanisms.
The suggested implementation plan is to replace the [SpanInfo] in ModInfo with HieFile and then fixing all the type errors.
https://gitlab.haskell.org/ghc/ghc/blob/master/ghc/GHCi/UI/Info.hs#L53
cc/ @wz1000
Edited  by Matthew Pickering