(define remove-first (lambda (obj lst) (if (member obj lst) (let loop ((new '()) (lstb lst)) (if (equal? (car lstb) obj) (append new (cdr lstb)) (loop (append new (list (car lstb))) (cdr lstb)))) lst)))