(define (fact n) (define (iter product counter) (if (< n counter) product (iter (* counter product) (+ counter 1)))) (iter 1 1))