Hello Will,
> This looks really nice to me. I think it is more useable and perhaps
> more useful to have "real names" for the different types of key, and as
> mentioned having a separate key for a default value is very nice for
> later customisation.
Thanks for that :-) I'd agree, hence my continued work on the keys3
idea. I hope that is now getting toward the point where is really does
point to a way to implement a general keyval creation system in LaTeX3.
One thing to notice about template (which I've only just discovered
myself) is that the "default" arguments it creates:
key =n [default] \l_some_tl
are not defaults in the (x)keyval/kvoptions/pgfkeys/key3 sense. In
template, this is the value initially assigned to a key before
processing, whereas in the other systems a default is what is used if
only the key name is given. More on that to follow as I sort it out!
Joseph