(let ((accmap (lambda (f acc xs) (if (eq xs nil) acc (accmap f (cons (f (car xs)) acc) (cdr xs)))))) (define map (lambda (f xs) (reverse (accmap f nil xs))))) (eq (map (lambda (x) (+ x 1)) (list 1 2 3 4 5 6)) (list 2 3 4 5 6 7))