Splitting out expanding macros from the rest of the processing