It's still a shame that rust doesn't support variadic functions and hence the hacky need of implementing printf through a macro.
- A reader can't really reason about what a macro might be doing, since they're immensely powerful.
- Tooling can't necessarily understand macros correctly, for the same reason. E.g. automated refactoring like extracting a repeated expression can't be relied on to work correctly.