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.