The xparse package provides a high-level interface for producing document-level commands.
In that way, it is intended as a replacement for the LATEX2" \newcommand macro.
However, xparse works so that the interface to a function (optional arguments, stars
and mandatory arguments, for example) is separate from the internal implementation.
xparse provides a normalised input for the internal form of a function, independent of the
document-level argument arrangement.