@urusan depends on the type of language. In Java there are no macros, instead you have reflection. I suspect that other jit/interpreted languages have similar escape hatches for when the language itself cant do something. In aot languages like Rust, macros are a similar escape hatch.