anchor.diff:       do (loop
              for acc-cell on accumulator
              for res-cell = results then (cdr res-cell) ;; Don't stop looping at
  -           ;; the end of results
  +                                                      ;; the end of results
              do (push (car res-cell) (car acc-cell)))
        finally (return (apply #'values (mapcar #'nreverse accumulator)))))
   
  
positive.code: ;;;
  ;;; The number of multiple values to return is specified to simplify
  ;;; implementation and potentially avoid a lot of consing.
  (defun multiple-value-mapcar (n func &rest lists)
    "Map FUNC across LISTS, accumulating the first N values returned by each
  invocation of FUNC into N lists based on position."
  
negative.code: of FUNC into a single list."
    (loop
       for (args rest-lists) = (unzip-lists lists) then (unzip-lists rest-lists)
       while args
       nconcing (multiple-value-list (apply func args))))
  
  
  