; largest : non-empty-list-of-numbers -> number (define (largest nums) (local [(define (bigger x y) (cond [(>= x y) x] [else y])) (define (helper nums) (cond [(empty? (rest nums)) (first nums)] [(cons? (rest nums)) (bigger (first nums) (helper (rest nums)))]))] (helper nums))) (largest (list 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1)) "should be" 16 (largest (list 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)) "should be" 16