Check quantification for partial type signatues
Trac #14449 showed that we were failing to check that the quantified type variables of a partial type signature remained distinct. See Note [Quantified variables in partial type signatures] in TcBinds. A little refactoring along the way.
Showing with 103 additions and 49 deletions