anchor.diff:  ;;
   ;; Returns the head of moved expressions and a new parent with
   ;; replaced arguments.
  -
   (defun expex-move-args (ex x)
     (with ((moved new-expr)
   			 (assoc-splice (mapcar (fn expex-move-arg ex _)
  
positive.code: ;; XXX argument conversion by guest.
  (defun expex-expr-std (ex x)
    (with ((moved new-expr) (expex-move-args ex
  							  (cons x.
  									(expex-argexpand ex x. .x))))
      (values moved
  			(list new-expr))))
  
  
negative.code: 
  ;;;; ARGUMENT EXPANSION
  
  ;; XXX this sucks blood out of stones. Should have proper macro expansion
  ;; instead.
  (defun expex-convert-quotes (x)
    (mapcar (fn (if (quote? _)
  				  `(%quote ,(second _))
  				  _))
  		  x))
  
  ;; Expand arguments to function.
  (defun expex-argexpand-0 (ex fun args)
    (funcall (expex-function-collector ex) fun args)
  