(define fib ; TYPE: (-> (natural) natural) (lambda (int) (if (< int 2) int (+ (fib (- int 1)) (fib (- int 2)))))) (define fib2 ; TYPE: (-> (natural) natural) (lambda (n) (if (< n 2) n (fib-it n 0 1)))) (define fib-it ; TYPE: (-> (natural natural natural) ; natural) (lambda (int acc1 acc2) (if (= int 1) acc2 (fib-it (sub1 int) acc2 (+ acc1 acc2)))))