A batch of changes related to the handling of binders in instance decls
The issue is that in instnace C T where data S = ... f = ... neither S nor f is really a binder; they are *occurrences*. Moreover Haskell dictates that these particular occurrences are disambiguated by looking at the class whose instance they occur in. Some of this was not handled right for associated types. And RnNames.getLocalNonValBinders was a bit messhy; this patch tidies it up. (And thenM is finally gone from RnSource.)
Showing