anchor.diff:  	    nconc clean-tail
   	    and do (loop-finish)
   	  else if (not (member key keywords :test #'eq))
  -	    nconc (list key value)
  +		 nconc (list key value)
   	  end)))
   
   (defmacro with-keywords-removed ((var keywords &optional (new-var var))
  
positive.code:   (cond ((eq result-type 'nil)
           ;; just map for effect
           (cond ((vectorp sequence)
                  (loop for i from 0 below (length sequence) by n do
                        (apply function (loop for j from 0 below n collect (aref sequence (+ i j))))))
                 ((listp sequence)
                  (let ((q sequence))
                    (loop until (null q) do
                          (apply function (loop for j from 0 below n collect (pop q))))))))
          (t
           ;; otherwise, we (for now) take the easy route of calling COERCE
           (coerce
            (cond ((vectorp sequence)
                   (loop for i from 0 below (length sequence) by n
                         nconc (multiple-value-list
                                   (apply function (loop for j from 0 below n collect (aref sequence (+ i j)))))))
                  ((listp sequence)
                   (let ((q sequence))
                     (loop until (null q) nconc
                           (multiple-value-list
                               (apply function (loop for j from 0 below n collect (pop q))))))))
            result-type))))
  
  ;;; A different way of attacking iteration of sequences
  
negative.code:   "If FUNCTION is not NIL, apply it."
    (when function (apply #'apply function args)))
  
  ;;; Remove keyword pairs from an argument list, consing as little as
  ;;; possible.
  (defun remove-keywords (arg-list keywords)
    (let ((clean-tail arg-list))
      ;; First, determine a tail in which there are no keywords to be removed.
  