(define make-count
  (let ((glob 0))
    (lambda ()
      (let ((loc 0))
        (lambda (msg)
          (cond ((eq? msg 'local)
                 (lambda ()
		   (set! loc (+ loc 1))
		   loc))
                ((eq? msg 'global)
                 (lambda ()
		   (set! glob (+ glob 1))
		   glob))
                (else (error "No such method" msg)) ))))))