anchor.diff:      (values moved `((%%go-nil ,.x. ,@new-expr)))))
   
   (defun expex-expr-%= (x)
  -  (with-%= place val x
  -    (? (%=? val)
  -       (return (values nil (expex-body `(,val
  -                                         (%= ,place ,(%=-place val)))))))
  -    (with ((moved new-expr) (expex-move-args (list val)))
  -      (values moved (expex-make-%= place new-expr.)))))
  +  (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
  
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: 
  (defun expex-move (x)
    (pcase x
      unexpex-able?     (. nil x)
      expex-inlinable?  (expex-move-inline x)
      %%block?          (expex-move-%%block x)
      (expex-move-std x)))
  
  (defun expex-move-args (x)
    (with ((moved new-expr) (assoc-splice (@ #'expex-move (expex-guest-filter-arguments x))))
      (values (apply #'append moved) new-expr)))
  
  
  