Draft: Partial type synonyms preparatory groundwork
As explained in !8818, this MR contains "harmless" refactorings to GHC internals that are used in the partial type synonyms implementation. The aim of this as a separate MR is to make it easier to maintain the partial type synonym implementation while it's being finalized and also in case it doesn't end up in upstream GHC.