Macro docs put the implementation after the description

This puts the description of marcos before their implementation.
It doesn't put the implementation at the bottom, but doing so while keeping the description on top would require a bigger rewrite of the file (as the description is currectly linked to the macro code, and separationg them would require creating another Item).
I'll look into it later
Closes #17616