anchor.diff:    (classify-variables program)
     (collect-closures program)
     (introduce-boxes program)
  -  (decompose-lambdas program)
  +  (decompose-lambdas program false)
     (codegen-program program)
     ;(format~ true "~S~%" (debug-form program))
     )
  
positive.code:   (form-attr-set! form 'self false)
    (classify-block-variables (attr-ref attrs 'params) 0 form))
  
  (define (varrec-quasi-written? varrec)
    (not (eq? 'read-only (varrec-attr varrec 'access))))
  (define (varrec-written? varrec)
    (eq? 'written (varrec-attr varrec 'access)))
  
  
negative.code:   (dolist (varrec varrecs)
      (let* ((state (varrec-attr-remove varrec 'state)))
        (cond ((= state 6) (error "bad variable ~S" (car varrec)))
              ((= state 2)
               (rplacd (cdr form) (cons (list 'define varrec (quoted-unspecified))
                                        (cddr form)))))
        (varrec-attr-set! varrec 'access
  