UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture15/ counter2.rkt
#lang racket
(require racket/generator)

(define nats
  (generator ()
      (let ([n 0])
        (define (loop)
          (yield  n)
          (set! n (add1 n))
          (loop))
        (loop))))

(+ (nats) (nats) (nats))