Fix rank-validity testing
GHC does not now do "hoisting" as it used to. Instead, it allows foralls to the right of fuction arrows, as well as to the left. But the type-validity tester hadn't caught up. This commit fixes it. The test is tc203. Incidentally, GHC still doesn't let you write forall a. Eq a => forall b. b -> b because we get a zillion reduce/reduce errors if we allow that. I'm sure it's fixable. But meanwhile you have to use an auxiliary type synonym, which is a bit stupid.
Showing with 12 additions and 10 deletions