I forget if I commented on this commit awhile back or not, but I'd rather see this analysis done in a proper location like the typechecker rather than the parser. I personally think that this is a non-problem with the unused variable lint (I also don't like special casing shadowing rules), but I would be more ok with this if it were not in the parser.