I've been playing around with Zig and it made me wonder why you would ever want to metaprogram in a language that isn't the language you're metaprogramming in? It's all just zig, even with compile time executed code. Meanwhile you've got like a million different ways to macro in Rust, and C++ is C++. As awesome as Rust macros are, I don't find them particularly readable. If I have a large-ish macro with an error somewhere, I usually just rewrite it because it's quicker than untangling it. But I never find myself wanting to do that in Zig because I'm not context switching to a different macro-specific language, and especially not depending on what I'm macroing. Am I the only one that feels this way? I mean... Don't the lisps and schemes already do this too and have found out again and again and again that this is a good idea?