Macros can be hard...
..to write and/or to use, if not written with care.
So it's good to prefer...
- data : easy to compose and manipulate
- functions : easy to write, needs care to be composable
- macros : difficult to write well, limited composability