Using functions instead of macros makes code easier to read and makes debugging significantly easier.
Macros had one "advantage", they did not require include statements for various DNA headers.
There are two possible solutions:
- Include all the required headers.
- Move functions out of headers - make them non-inline.
What do you prefer? In your opinion, should some of the macros not be converted to functions?