[project @ 2005-07-11 09:48:57 by simonpj]
Fix a bug in the renamer for parallel list comprehensions
MERGE TO STABLE
It's surprinsingly tricky to combine
a) The parallel scopes for par-list-comps
with
b) The general form of the renamer types, whereby
scoped constructs work like
rnPat :: Pat -> RnM (thing,FreeVars)
-> RnM ((Pat,thing), FreeVars)
This general shape neatly allows rnPat to
extend the envt, report unused variables from
the 'thing' inside, and return the correct set
of free variables
But combining (a) and (b) is tricky, and was plain wrong before.