RFC: Macro reform

[Rendered view](https://github.com/kmcallister/rfcs/blob/macro-reform/text/0000-macro-reform.md)
I'm keen for this in general, but I don't like the proposed syntax. I would prefer using attributes for this.