implement hygiene for arguments of item functions

Closes #9384
DONT LET THIS COMMIT GO UPSTREAM