anchor.diff:  (defun compiler-macroexpand (x)
     (expander-expand 'compiler x))
   
  +(defun make-vm-scope (x)
  +;  (? .x
  +     `(%%vm-scope ,@x)
  +     )
  +;     x.))
  +
   (define-filter vars-to-identity (x)
     (? (atom x)
        `(identity ,x)
  
positive.code:                             `((%setq ~%ret ,_.)
                                (%%vm-go-nil ~%ret ,next)))
                          ,@(awhen (vars-to-identity ._)
  						    `((%setq ~%ret (%%vm-scope ,@!))))
                         (%%vm-go ,end-tag)
                         ,next))
  			     args)
  
negative.code:      (identity nil)))
  
  (define-compiler-macro progn (&rest body)
    (make-vm-scope (| (vars-to-identity body) ; XXX fscking workaround
  				    '((identity nil)))))
  
  (define-expander 'compiler-return)
  