It's just MUCH MUCH easier, standardized and widely used.
For routine code generation, there are even simpler T4 templates. That one gets as easy as one could want.
So are expression trees: https://docs.microsoft.com/en-us/dotnet/api/system.linq.expr...
> and widely used
By what statistics?
But they are not easier. Pick one or two out of three.
> By what statistics?
Number of defined or used macros per lines of Lisp code.