Quoth Scott McKay on Tuesday, 18 December: : : And as I already pointed out in another, this is ambiguous, since it does : not differentiate between element attributes and element bodies. Disagree. It's quite clear what is an attribute, and what is content: (defun tag1 (&key attr1 &rest body) ... ) No ambiguity. Yes, *someone* has to parse it. But that is always true.