There can be no question at all on the point Jeff Dalton raises: when a Defun occurs inside a Let or anywhere else, it changes the GLOBAL function definition for the symbol in question. It is not a form of LABELS. -- Scott