Macros are a power tool. Heck, pointers are a power tool! You can do fantastic stuff with them. You can also create a big mess, fast! Doesn't mean we should live without electric drills, just use them intelligently.
You seem to be arguing against a claim I didn't make. I'm not against macros or powerful language features. I simply argued against downplaying their dangers.
Pointers are also a dangerous power tool. I would have objected similarly if a C advocate said this:
"...in order to understand function A that acts on char * B, of course you have to know what where char * B points, but in order to use function C that references const string& D, you have to know what D contains. Big deal."