support a variable number of argument in macro parameters