GHC wastefully allocates thousands of `TyConApp Type []` nodes
I was investigating why GHC allocates so many TyConApp constructors and observed that the primary cause of allocation (25%) was TyConApp Type [].
We should add a special case to mkTyConApp to check for this case and create a static top-level definition for TyConApp Type [] so all these redundant constructors are not duplicated. I estimate this will reduce allocations when compiling Cabal by at least 30mb.