remove_deep премахва елемент от списък, които може да има като елемент други списъци.
Или от L = {1, 2, {3}, {4, 5, {6}}, 7}, може да премахнем всяко число с „remove_deep L x“.
(define (remove_deep l x) (define (cons_helper a b) (if (= x a) b (cons a b))) (cond ((null? l) l) ((list? (car l)) (cons (remove_deep (car l) x) (remove_deep (cdr l) x))) (else (cons_helper (car l) (remove_deep (cdr l) x))))) (remove_deep (list 2 5 3 (list 2 6 (list 2 3))) 3)