A tiny bit of machinery to allow macros with arguments