anchor.diff:      (vm-scope? x)					(expex-move-arg-vm-scope ex x)
   	(expex-move-arg-std ex x)))
   
  +(defun expex-filter-and-move-args (ex x)
  +  (assoc-splice (mapcar (fn expex-move-arg ex _)
  +   		                (expex-guest-filter-arguments ex x))))
  +
   (defun expex-move-slot-value (ex x)
  -  (with ((moved new-expr)
  -			 (assoc-splice (mapcar (fn expex-move-arg ex _)
  -				        		   (expex-guest-filter-arguments ex (list .x.)))))
  +  (with ((moved new-expr) (expex-filter-and-move-args ex (list .x.)))
       (values (apply #'append moved)
   			`(%slot-value ,new-expr. ,..x.))))
   
   (defun expex-move-args-0 (ex x)
  -  (with ((moved new-expr)
  -			 (assoc-splice (mapcar (fn expex-move-arg ex _)
  -				        		   (expex-guest-filter-arguments ex x))))
  +  (with ((moved new-expr) (expex-filter-and-move-args ex x))
       (values (apply #'append moved)
   			new-expr)))
   
  
positive.code:   (if (eq s (second x.))
        x
        `(,x.
  	    ,(expex-guest-filter-setter ex
  									`(%setq ,s ,(peel-%inline (second x.)))))))
  
  ;; Make return-value assignment of last expression in body.
  (defun expex-make-return-value (ex s x)
  
negative.code: ;; The arguments are replaced by gensyms.
  ;; XXX argument conversion by guest.
  (defun expex-expr-std (ex x)
    (with ((moved new-expr) (expex-move-args ex (expex-argexpand ex x)))
      (values moved
  			(list new-expr))))
  
  