Fix Trac #7804, about floating equalites
We float unsolved equalities from underneath a 'forall', to help solve them, in TcSimplify.floatEqualities. It's regrettably delicate though,as this bug shows. I'm not happy with the new code; but there are copious notes; see Note [Float equalities from under a skolem binding].
Showing with 55 additions and 14 deletions