TTG follow-up: Outputable orphans
Followup in cleaning-up after separating the AST from GHC-Pass !4778 (closed); regarding the orphan Outputable
instances in compiler/GHC/Hs/Expr.hs
It makes me wonder whether all the Outputable instances should be in GHC.Hs.Extension.GhcPass. I think they wouldn't be orphans there.
After we add more TTG parameters to allow using non-GHC non-tie-the-know-oh-wait-hs-boots-everywhere, we can generalize these instances so they don't assume GhcPass.
Outputable itself assumes some things about names and other GHC which would probably be lifted.
So I don't know what's best in the short and medium terms, but I hope in the long term we can have some nice GHC-agnostic bring-your-own-configuration-record pretty printing. This will also help with #17957 and getting rid of the unsafe global cfg stuff.