anchor.diff:                                                     val)))))
   
   (defun expex-add-var ()
  -  (aprog1 (expex-sym)
  -    (funinfo-var-add *funinfo* !)))
  +  (funinfo-var-add *funinfo* (expex-sym)))
   
   
   ;;;; PREDICATES
  
positive.code: (defun expex-expr (x)
    (with-default-listprop x
      (pcase x
        %%go-nil?      (expex-%%go-nil x)
  	  %var?          (expex-var x)
  	  named-lambda?  (expex-lambda x)
        %%block?       (values nil (expex-body (%%block-body x)))
        %=?            (expex-expr-%= x)
        unexpex-able?  (values nil (list x))
        (expex-expr-std x))))
  
  ;;;; BODY EXPANSION
  
  
negative.code:   (| (funinfo-get-local-function-args *funinfo* fun)
       (transpiler-function-arguments *transpiler* fun)))
  
  (defun expex-argexpand (x)
    (with (new?   (%new? x)
  		 fun    (? new? .x. x.)
  		 args   (? new? ..x .x)
  	     eargs  (? (defined-function fun)
                     (argument-expand-values-compiled fun (expex-argdef fun) args)
                     args))
  	`(,@(& new? '(%new)) ,fun ,@(expand-literal-characters eargs))))
  
  
  ;;;;; MOVING SINGLE ARGUMENTS
  
  (defun expex-move-atom (x)
    (alet (expex-add-var)
      (. (expex-make-%= ! x) !)))
  
  (defun expex-move-inline (x)
    (with ((p a) (expex-move-args x))
  