anchor.diff:  
     (plain-arg-fun? #'((var)))
   
  -  (inline? #'((x))))
  +  (inline? #'((x)))
  +  (move-lexicals? nil))
   
   ;;;; SYMBOLS
   
  
positive.code: (defun expex-force-%setq (ex x)
    (or (when (metacode-expression-only x)
          (list x))
  	  (expex-guest-filter-setter ex `(%setq ~%ret ,(if (identity? x)
  													   (second x)
  													   x)))))
  
  ;; Simply concatenates the results of all expression expansions in a body.
  (defun expex-list (ex x)
    (when x
      (with ((moved new-expr) (expex-expr ex x.))
        (append moved
  			  (mapcan (fn expex-force-%setq ex _) new-expr)
  			  (expex-list ex .x)))))
  
  ;; Make second, following %SETQ expression that assigns to the
  ;; desired return-place.
  (defun expex-make-setq-copy (ex x s)
    (if (eq s (second x.))
        x
        `(,x.
  	    ,@(expex-guest-filter-setter ex `(%setq ,s ,(second x.))))))
  
  ;; Make return-value assignment of last expression in body.
  (defun expex-make-return-value (ex s x)
    (let last (last x)
     	(if (expex-returnable? ex last.)
  
negative.code:     (values (apply #'append moved)
              `((%%vm-go-nil ,@new-expr ,..x.)))))
  
  (defun peel-identity (x)
    (? (identity? x)
       .x.
       x))
  
  (defun expex-expr (ex expr)
    (let x (if (named-lambda? expr) ; XXX remove?
  		     expr
  			 (expex-guest-filter-expr ex expr))
      (expex-cps x)
  