This is defining a global function.
It’s absolutely wrong to learn the wrong pattern. You can call the macro as function for debugging just fine.
I know and I’m really sad to see that. It’s absolutely a bad idea to do it. I’ve seen many issue caused by it and
I recommand against it everytime I see it. I’m not saying that you invented it, but you still shouldn’t do it.
I didn’t say you shouldn’t call function in macros, that’s just code organization and when you have something large that’s useful and that’s totally fine. I said your use of esc is completely wrong though.