anchor.diff:      (item vector 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 from start below end
   	  until (zerop count)
   	  unless (eql item (funcall key (aref vector i)))
  
positive.code: 
  (defun |remove seq-type=simple-string from-end=t test=eql count=other key=identity|
      (item vector start end count)
    (declare (type simple-string vector))
    (let ((bit-vector (make-array (- end start) :element-type 'bit :initial-element 0))
  	(items-to-keep 0))
      (loop for i downfrom (1- end) to start
  	  until (zerop count)
  	  unless (eql item (schar vector i))
  
negative.code:     (item vector 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 from start below end
  	  unless (eql item (aref vector i))
  	    do (setf (sbit bit-vector (- i start)) 1)
  