anchor.diff:  (defun expex-list (x)
     (when x
        (with ((head tail) (expex-expr (car x)))
  -       (nconc head tail (expex-list (cdr x))))))
  +       (append head tail (expex-list (cdr x))))))
   
   ;; Expand VM-SCOPE body and have the return value of the
   ;; last expression assigned to a gensym which will replace
  
positive.code: 				    s)
  			  (cons '(nil) s))
    	      (with ((head tail) (expex-expr x))
      	    (cons (nconc head (if (expex-returnable? (car tail))
  								  `((%setq ,s ,@tail))
  								  tail))
  		  	      s))))))
  
  ;; Move subexpressions out of a parent.
  
negative.code:   (with (b (butlast e)
  		 l (last e))
     	(if (expex-returnable? (car l))
  		(append b (if (%setq? (car l))
  					  (if (%setqret? (car l))
  				          `((%setq ~%ret ,(caddar l)))
  						  `((%setq ,(cadar l) ,(caddar l))  ; Assign to return value.
  						    (%setq ~%ret ,(caddar l))))
  				      `((%setq ,s ,@(or l '(nil))))))
  		e)))
  
  ;; Transform moved expression to one which assigns its return
  