Over the years, I've built a fair number of DSLs in #Ruby for all kinds of things.
For one of my current clients, I'm building one in #Zig, and it's definitely a very different approach: the DSL is syntactically (but not necessarily semantically) valid Zig, and a small parser transforms the `std.zig.Ast` into something that later gets executed.
It works better than I expected, and I promise, the approach makes sense within the constraints of the project.