anchor.diff:      (item vector test-not start end count key)
     (let ((bit-vector (make-array (- end start) :element-type 'bit :initial-element 0))
   	(items-to-keep 0))
  +    (declare (type fixnum items-to-keep))
       (loop for i downfrom (1- end) to start
   	  until (zerop count)
   	  when (funcall test-not item (funcall key (aref vector i)))
  
positive.code:     (item vector test start end count)
    (let ((bit-vector (make-array (- end start) :element-type 'bit :initial-element 0))
  	(items-to-keep 0))
      (loop for i from start below end
  	  until (zerop count)
  	  unless (funcall test item (aref vector i))
  
negative.code: 
  (defun |remove seq-type=simple-vector from-end=t test=eql count=other key=other|
      (item vector start end count key)
    (declare (type simple-vector vector)
  	   (type fixnum start end))
    (let ((bit-vector (make-array (- end start) :element-type 'bit :initial-element 0))
  	(items-to-keep 0))
      (declare (type fixnum items-to-keep))
      (loop for i downfrom (1- end) to start
  	  until (zerop count)
  	  unless (eql item (funcall key (svref vector i)))
  