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