Has anyone considered the Common Lisp argument list as a place to look for ideas? (var... &optional (var initform svar)... &rest var &key ((keyword var) initform svar)... &aux (var initform)...) http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node64.html Rick