identify type and optionality of macro parameters