We don’t want to do that because we want (the new) base
to be portable across GHC versions (and other hypothetical implementations) at all times. The empty library is trivially portable, and we move over definitions only if they are also.
…and right now (2022 Feb) that would require going as close to fully-parameterised (no type classes) as possible
I am interested in these things, but I don’t think overly opinionated instances in GHC are a problem. (Outputable
is opinionated but structured errors mean that pretty-printing is increasingly moved to the outskirts!)
If you want to talk to about orphan instances more, would you mind forking that to a new thread? It is orthogonal to the low hanging initial steps for both making GHC a real library and decoupling base.