macros for differentiating 1- and 2-argument functions