Defining a function called simp, with one parameter called L. Is the parameter a simple flat list of atoms? It assumes that it will be given a list, but doesn't bother checking. CL-USER> (defun simp (L) (if (null L) t (if (atom (car L)) (simp (cdr L)) nil))) SIMP CL-USER> (simp '(2 4 5 6 3 cat p)) T CL-USER> (simp '(3 4 (3 1) pppp)) NIL CL-USER> (simp '()) T CL-USER> (simp 'x) Invoking restart: Return to SLIME's top level. ; Evaluation aborted on #.