Итак, у меня есть код, который удаляет первое появление элемента
(define delete
(lambda (a lst)
(cond
((null? lst) (lst))
((eq? (car lst) a) (cdr lst))
(else (cons (car lst)
(delete a (cdr lst)))))))
Теперь я хочу удалить элемент, но начиная с конца списка, например, (delete 2 '(2 5 4 2 6))
вернет '(2 5 4 6)
Я действительно не знаю, как это сделать, поэтому любая помощь приветствуется.