functionLikeMacrosAsTemplateParameter hack, need to investigate