anchor.diff:                   sequence
                    :key key
                    :start start
  -                 :end end))
  +                 :end end
  +                 :from-end from-end))
   
   (defun reduce (function sequence &key key (initial-value nil initial-valuep) from-end (start 0) end)
     (check-type key (or null symbol function))
  
positive.code:                  :key key
                   :start start
                   :end end
                   :count count))
  
  (defun nsubstitute-if (newitem predicate sequence &key key (start 0) end) ; from-end
    (unless key (setf key 'identity))
    (cond ((and (listp sequence)
                (zerop start)
                (null end))
           (mapcar (lambda (x)
                     (if (funcall predicate (funcall key x))
                         newitem
                         x))
                   sequence))
          (t (unless end (setf end (length sequence)))
             (dotimes (i (- end start))
               (when (funcall predicate (funcall key (elt sequence (+ start i))))
                 (setf (elt sequence (+ start i)) newitem)))
             sequence)))
  
  (defun nsubstitute-if-not (newitem predicate sequence &key key (start 0) end) ; from-end
    (unless key (setf key 'identity))
    (cond ((and (listp sequence)
                (zerop start)
                (null end))
           (mapcar (lambda (x)
                     (if (not (funcall predicate (funcall key x)))
                         newitem
                         x))
                   sequence))
          (t (unless end (setf end (length sequence)))
             (dotimes (i (- end start))
               (when (not (funcall predicate (funcall key (elt sequence (+ start i)))))
                 (setf (elt sequence (+ start i)) newitem)))
             sequence)))
  
  (defun nsubstitute (newitem olditem sequence &key test test-not key (start 0) end) ; from-end
    (check-test-test-not test test-not)
    (when test-not (setf test (complement test-not)))
    (unless test (setf test 'eql))
  
negative.code:         (dolist (e sequence)
            (when (funcall predicate (funcall key e))
              (incf n)))
          (dotimes (i (length sequence))
            (when (funcall predicate (funcall key (elt sequence i)))
              (incf n))))
      n))
  