> no `call/kw' prefix and using symbols to introduce optional arguments (so > that they essentially appear as a plist). Apart from the syntax, this > is equivalent to CL-style. You're right. It has the exact same advantages and problems as CL. > This solves the caller-side of the problem, which is the most visible > side. For the callee-side, there can be different ways like > `lambda/kw', `define/kw' and `let-keywords'. And hygienic keywords can be accomplished by: (let ((my-keyword something-unique-imported-from-a-library)) (some-procedure-taking-keywords pos1 pos2 pos3 my-keyword my-value))