anchor.diff:    list)
   
   (defun |nsubstitute seq-type=list from-end=nil end=other test=other count=other key=other|
  -    (newitem olditem list test start end count key)
  +    (newitem olditem list start end test count key)
     (let ((remaining list)
   	(start-bis start)
   	(end-start (- end start)))
  
positive.code:       ;; nreverse it again and count
        (loop until (null reversed)
  	    while (plusp count)
  	    do (unless (funcall test-not (funcall key (car reversed)) olditem)
  		 (setf (car reversed) newitem)
  		 (decf count))
  	       (let ((temp (cdr reversed)))
  
negative.code:   list)
  
  (defun |nsubstitute seq-type=list end=other test=other count=nil key=identity|
      (newitem olditem list start end test)
    (let ((remaining list)
  	(start-bis start)
  	(end-start (- end start)))
  