Hmm... I'm not really a macro kind of person - generally speaking I'll just shove everything into a function - but I have no issues with them.
With that said, Crystal has only a few basic functions, and most other "functions" in the language are macros of those basic functions, which makes understanding what those functions actually do a whole lot easier and somewhat self-documenting, and I think that's really cool.
Retrospring uses Markdown for formatting
*italic text* for italic text
**bold text** for bold text
[link](https://example.com) for link