As long as you're doing (SETF (+ X 3) 10), why not use SETF as a notation for Prolog-style assertions? E.g., (SETF (GRANDFATHER-OF X) 'THOMAS). (-: There. We embedded it again. :-) -------