anchor.diff:    (if (not (expex-able? ex x))
   	  (cons nil x)
     	  (with (s (expex-sym))
  -  	  (if (vm-scope? x)
  -		  (if (vm-scope-body x)
  -	          (cons (expex-body ex (vm-scope-body x) s) ; Special treatment for VM-SCOPE arguments.
  -				    s)
  -			  (cons '(nil) s))
  -  	      (with ((head tail) (expex-expr ex x))
  -    	    (cons (append head (if (expex-returnable? ex (car tail))
  -								   `((%setq ,s ,@tail))
  -								   tail))
  -		  	      s))))))
  +  	    (if (vm-scope? x)
  +		    (if (vm-scope-body x)
  +	            (cons (expex-body ex (vm-scope-body x) s) ; Special treatment for VM-SCOPE arguments.
  +				      s)
  +			    (cons '(nil) s))
  +  	        (with ((head tail) (expex-expr ex x))
  +    	      (cons (append head (if (expex-returnable? ex (car tail))
  +								     `((%setq ,s ,@tail))
  +								     tail))
  +		  	        s))))))
   
   ;; Move subexpressions out of a parent.
   ;;
  
positive.code:      (with ((head tail) (expex-expr ex (car x)))
         (append head tail (expex-list ex (cdr x))))))
  
  ;; Expand VM-SCOPE body and have the return value of the
  ;; last expression assigned to a gensym which will replace
  ;; it in the parent expression.
  
negative.code: (defun expex-returnable? (ex x)
    (not (vm-jump? x)))
  
  ;; Transform moved expression to one which assigns its return
  ;; value to a gensym.
  ;;
  