The BAD: New kinds of bugs

left top

(define (fact n)
  (let ((product 1)
	(counter 1))
    (define (iter)
      (if (> counter n)
	  counter
	  (begin
	    (set! product (* product counter))
	    (set! counter (+ counter 1))
	    (iter))))
    (iter)))

Jim Miller W3C