anchor.diff:  											removed-tags)
   								  (rplacd ! (second x)))
   				          	  (acons! a (second x) removed-tags)
  -					          (find-double-tags d))
  -							(cons a (find-double-tags d)))))))
  +					          (reduce-tags d))
  +							(cons a (reduce-tags d)))))))
   		 rec
   		   #'((x)
   			   (maptree #'((x)
   			                (aif (assoc x removed-tags)
   				                (cdr !)
   					            x))
  -			            (find-double-tags (remove-code x)))))
  -	(repeat-while-changes #'rec x)))
  +						(funcall
  +						  (compose #'reduce-tags
  +								   #'remove-code
  +								   #'remove-void)
  +						  x))))
  +
  +	(repeat-while-changes #'rec (remove-identity x))))
  
positive.code: ;;;;; Peephole-optimizer for expression-expanded code.
  
  (defun find-tree (x v)
    (if (atom x)
  	  (eq x v)
  	  (or (find-tree (car x) v)
  	      (find-tree (cdr x) v))))
  
  (defun opt-peephole (x)
    (with (removed-tags nil
  		 find-next-tag
  		   #'((x)
  			    (when x
  
negative.code: 							     #'(,(lambda-args  (third a))
  								     ,@(remove-code (lambda-body (third a)))))
  						      (remove-code d))
  						; Don't set variable that will be modified anyway.
  						(if (and (%setq? a)
  							 	 (or (atom (third a))
  									 (%stack? (third a)))
  							 	 (will-be-set-again? d (second a)))
  							(remove-code d)
          					(cons a (remove-code d)))))))
  
  		 reduce-tags
  		   #'((x)
  				(when x
  				  (with-cons a d x
  