Macros that did not return string did not work
because they were cast to a string