(defmacro deffrob (head tail) `(progn (defmacro behead (x) `(setf ,,head ,x)) (defmacro betail (y) `(setf ,,tail ,y)))) but I don't seem to write code like this myself. Will I can testify to that. Will would have used continuations to do things like that. -rpg-