Hygienic macros avoid this problem by checking for and replacing shadowed variables that are not parameters.
Гигиенические макроопределения устраняют эту проблему, проверяя и при необходимости подменяя затеняемые переменные, не являющиеся параметрами.