Draft: Making Var, Id, TyVar, TyCoVar, TcTyVar and friends different types
I started doing it on a whim on the weekend and it's turning out surprisingly good (and satisfying to do). I think this could be quite a good refactor, at least its turning out to be so.
I still need to open a ticket for this, but here's my WIP.