anchor.diff:  
   ;;;; UTILS
   
  -(defun expex-make-%= (plc val)
  -  (when (atom val)
  -    (= val (funcall (expex-argument-filter *expex*) val)))
  -  (expex-guest-filter-setter `(%= ,plc ,(? (%=? val)
  -                                           (%=-place val)
  -                                           val))))
  +(defun make-%= (p v)
  +  (when (atom v)
  +    (= v (funcall (expex-argument-filter *expex*) v)))
  +  (expex-guest-filter-setter `(%= ,p ,(? (%=? v)
  +                                         (%=-place v)
  +                                         v))))
   
   (defun expex-add-var ()
     (funinfo-var-add *funinfo* (expex-sym)))
  
positive.code: ;;;;; MOVING ARGUMENTS
  
  (defun expex-move-inline (x)
    (with ((p a) (expex-move-args x))
  	(. p a)))
  
  (defun expex-move-%%block (x)
    (!? (%%block-body x)
  
negative.code:     (values moved `((%%go-nil ,.x. ,@new-expr)))))
  
  (defun expex-expr-%= (x)
    (with-%= p v x
      (? (%=? v)
         (return (values nil (expex-body `(,v
                                           (%= ,p ,(%=-place v)))))))
      (with ((moved new-expr) (expex-move-args (list v)))
        (values moved (make-%= p new-expr.)))))
  
  (defun expex-expr (x)
    (with-default-listprop x
  