#lang racket (require racket/generator) (define nats (generator () (let ([n 0]) (define (loop) (yield n) (set! n (add1 n)) (loop)) (loop)))) (+ (nats) (nats) (nats))