On 9 February 2018 at 11:19, H. S. Teoh via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

>    3. string mixins always used in place of some sort of more sanitary
>    macro system
[...]

That gave me a double-take.  "Sanitary" and "macro" in the same
sentence?!  That's just ... I know what you *mean*, but the thought is
just, wow. :-D

I feel like the keyword there was MORE sanitary.
Writing functions that assemble code into a string is definitely not the best way... you lose syntax highlighting, code completion/suggestion, refactoring, etc, in any meaningful way.
The less your meta requires you resort to strings, the better... and that folds back into my #1 point; storage class separate from the type system is the greatest complexity on meta; almost always leads to text mixins, because there's no machinery for storage classes (or attributes). Can not alias, compound, aggregate... anything.