Hello everyone,

If you consult the LaTeX3 SVN, you'll see that I've now committed a lot
of what has been discussed here to the real xparse module, removing
xparse-alt and doing a little tidying of other xpackages to fit the
updated model. At present, the update will break the "xcontent" package,
which I'll try to sort out later today if I get time.

At present, the implementation covers all of the argument types
discussed (including Will's optional-braced-argument, which I've called
g = "grouped"), with "+" representing a long argument. I've gone with
the idea of ">{\some_function:n}" for processing arguments, for example

\DeclareDocumentCommand \foo { >{\xparse_arg_split_on_comma:n}D(){0,0} }
  { code }

is currently correct for finding an optional pair of co-ordinates and
splitting at the comma.

I've not yet implemented \DeclareExpandableDocumentCommand. I'll
probably try to do that over the weekend, with the very restricted set
of valid arguments I suggested in my e-mail from yesterday.
-- 
Joseph Wright