anchor.diff:             (written false))
         (cond ((= state 2) 
                (set! written true))
  -            ((= state 3)
  -             (set! written true)
  +            ((early-access-state? state)
  +             (set! written (if (= 3 state) 'early-read true))
                (rplacd (cdr form) (cons (list 'define varrec (quoted-unspecified))
                                         (cddr form))))
  -            ((= state 4)
  +            ((= state 5)
                (error "bad variable ~S" (car varrec))))
         (varrec-attr-set! varrec 'written written))))
   
  
positive.code: 
  (define-lambda-label (define varrec val)
    (lambda-label val)
    (when (and (eq? 'lambda (car val))
               (not (varrec-written? varrec)))
      (varrec-attr-set! varrec 'lambda-label (form-attr val 'label))))
  
  ;;; Produce a debug form
  
negative.code:   (classify-variables val)
    (update-varrec-state varrec varrec-set!-state-table))
  
  (define (early-access-state? state)
    (or (= state 3) (= state 4)))
  
  (define-classify-variables (define varrec val)
    (labels ((update-define-varrec-state ()
               (let* ((state (varrec-attr varrec 'state)))
                 (when (early-access-state? state) (rplaca form 'set!))
                 (varrec-attr-set! varrec 'state
                                  (vector-ref varrec-define-state-table state)))))
      (classify-variables val)
  