variadic macros, macro overloading