Usage or implementation of macros? The usage is just macro!(tokens), and the syntax within it is determined by how the macro defines the DSL. Implementing macros is definitely not pretty for anything complex, as you're messing with a token tree rather than it being normal code.