Explain and demo function/macro-name-scoped params