(define (cl:delete-if-not pred lst) (let delete-if ((lst lst)) (cond ((null? lst) '()) ((not (pred (car lst))) (delete-if (cdr lst))) (else (set-cdr! lst (delete-if (cdr lst))) lst))))