(defun flatten (ls) (labels ((mklist (x) (if (listp x) x (list x)))) (mapcan #'(lambda (x) (if (atom x) (mklist x) (flatten x))) ls)))