Like Rust's Proc macros. Now we have preprocessor recursion to worry about. I also made a cool macro for enums
Macros, placeholders, etc. will all be handled by std eventually so they shouldn't appear in the protocol or the host