How can I remove nested parentheses recursively in Common LISP Such as
(unnest \'(a b c (d e) ((f) g))) => (a b c d e f g) (unnest \'(a b))
(defun flatten (l) (cond ((null l) nil) ((atom (car l)) (cons (car l) (flatten (cdr l)))) (t (append (flatten (car l)) (flatten (cdr l))))))