The new syntax does away with the `#!optional', `#!key' and `#!rest'
markers. Instead, a syntax that is inspired from EBNF is used to
denote optional parts (square brackets in the parameter list around
the optional parameters). Moreover, to reinforce the similarity
between the appearance of `defines' and the call site, named
parameters are specified in the parameter list by giving both the
keyword and the variable corresponding to that parameter. Finally,
the approach now supports required named parameters. All the details
are given in the SRFI document.