Significant refactoring of TcSimplify, in particular simplifyInfer and
simplifyTop, code beautification etc. Important things: (a) New top-level defaulting plan, gotten rid of the SimplContext field. See Note [Top-level Defaulting Plan] (b) Serious bug fix in the floatEqualities mechanism See Note [Extra TcS Untouchables],[Float Equalities out of Implications] The changes are mostly confined in TcSimplify but there is a simplification wave affecting other modules as well.
Showing with 554 additions and 345 deletions