anchor.diff:  						; Don't set variable that will be modified anyway.
   						(if (and (%setq? a)
   							 	 (or (atom (third a))
  +									 (get-slot? (third a))
   									 (%stack? (third a)))
   							 	 (will-be-set-again? d (second a)))
   							(remove-code d)
  
positive.code: 									(if (and (consp a)
  										 	(eq 'vm-go (first a)))
  						    			(cons a (remove-void (find-next-tag d)))
  										(cons a (remove-void d))))))))))
  
  		 will-be-set-again?
  		   #'((x v)
  				(or nil;(and (atom v)
  						; (string= "~E" (subseq (symbol-name v) 0 2))
  						 ;(not x)) ; End of block - value won't be used.
  			        (when (and x (not (vm-jump? (car x)))) ; We don't know what happens after a jump.
  				      (or (and (%setq? (car x))
  						       (eq v (second (car x))))
  
negative.code: 						(funcall
  						  (compose #'reduce-tags
  								   #'remove-code
  								   #'remove-void
  )
  						  x))))
  
  	(repeat-while-changes #'rec (remove-identity x))))
  