make num macros non-capturing