(define (make-counter) (let ((var 0.000000)) (lambda () (mutate var (+ 1.000000 var)) var)))

(define counter1 (make-counter))

(assert (= (counter1) 1.000000))

(define counter2 (make-counter))

(assert (= (counter2) 1.000000))

(assert (= (counter2) 2.000000))

(assert (= (counter1) 2.000000))

(assert (= (counter1) 3.000000))

(assert (= (counter2) 3.000000))

