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.