(define (rl) (load "bst.ss")) ;;; no reversing of the list (define remove-last (lambda (e ls) (remove-last-helper e ls '(())))) ;Good (define remove-last-helper (lambda (e ls store) (cond [(null? ls) (car store)] [(eq? e (car ls)) (remove-last-helper e (cdr ls) (cons (cdr store) (append (cdr store) (list (car ls)))))] [else (remove-last-helper e (cdr ls) (cons (append (car store) (list (car ls))) (append (cdr store) (list (car ls)))))])))