Frank Mittelbach pisze:
>  > As for the ``sequence of footnotes'' issue:
>  > -------------------------------------------
>  > ...
>  > a sequence of note marks and not for a single mark.  If sequences are
>  > allowed, single footnote mark is not a self-contained entity.
> i don't really want to dispute this. but are there seriously layouts that
> treat this as units? perhaps there are and perhaps it is the wrong question
> anyway since if one provides this functionality one should probably provide it
> all way through.

Precisely.  For the footnotes this is a border case.  But with
multiple \cite's it is easier to expect a need for putting sth
different between the last but one and the last item than between
others (like [X, Y, Z, and T]).  That would make three different kinds
of \cite's.  In this case passing a sequence is much cleaner.

> so assuming we intend to provide it all way through what would be a sensible
> template type for it? the main problem i see right now is that the tempate
> types as currently defined do only work with a fixed set of arguments. this
> would allow for three courses to take:
> ...
>  - consider to provide for structured arguments to templates, eg
>    (comma-separated lists) or something like that. --- the latter may in fact
>    be necessary in other circumstances anyway (supporting \cite comes to
>    mind). how this is actually then mapped to syntax is a different
>    matter and
>    i must confess i have no immediate idea that seems appealing.

I feel the template here has fixed number of arguments but one of them
happens to be a sequence (the elements of this sequence are in a way
homogenous, you know).  This opens the issue of processing sequences
(just passing them doesn't seem to be a problem, could sequences be
written {in}{a}{more TeXy}{way} instead to be comma delimited? This
would relive us from enclosing in a group elements already containing
a comma).

Probably a kind of an abstract data type for sequences should be
defined.  Common needs inside template code would probably be taking
the first/last element of a sequence (shortening the sequence) and a
foreach loop.  Of these foreach loop is easy.  On the other hand
destructive operations are a problem since the sequence is passed as
an argument and not a named storage bin.  Some \BuildQueue{name}{#3}
could be introduced, but this is just plain ugly.

>  > ----------
>  > Shouldn't \DelayedEvaluation be rather named \DelayEvaluation or
> shouldn't it? i thought it was named \DelayEvaluation when we put it out;
> must gave got another "ed" traveling to your country :-)

I would swear I've seen it written this way somewhere, but generally
oops on my side.  From that you can easily guess that I haven't
actually written any template.:-)