Function arguments now count towards no-shadow check (fixes #1584)

Interestingly, there was some code that explicitly avoided checking function arguments - so this was nice and easy to change.
Can you make this something other than a single-letter variable name? :) Not a huge fan of those.