Remove unused known-key and name variables for generics
This removes the known-key and corresponding name variables for K1, M1, R, D, C, S, and URec from Data.Generics, as they are apparently nowhere used in GHC’s source code, and thus resolves part of #26677 (closed).
I could build GHC successfully with this change. I fed to the resulting GHCi a simple data type declaration with Generic deriving. The generated Rep type used K1, M1, R, D, C, and S, and at least the top-level M1 type constructor was the same as its counterpart from Data.Generics according to the type equality operator ~.
Still, I do not have any idea why Generic deriving apparently works with this change or whether there is some subtle problem here. Therefore, I’d be happy if someone with deep insight into these matters would give this a very critical review.