#lang racket/base (provide make-counter) (define (make-counter [start-value 0]) (define next-value start-value) (lambda () (let ((v next-value)) (set! next-value (+ v 1)) v)))