(define difference (lambda (numbers) (if (null? numbers) 0 (- (car numbers) (difference (cdr numbers)))))) (define new-difference (lambda (numbers) (new-difference-helper (car numbers) (cdr numbers)))) (define new-difference-helper (lambda (difference-so-far remaining) (if (null? remaining) difference-so-far (new-difference-helper (- difference-so-far (car remaining)) (cdr remaining)))))