anchor.diff:      (t (reduce #'two-arg-gcd integers))))
   
   (define-compiler-macro gcd (&rest integers)
  -  (declare (dynamic-extent integers))
     (cond ((null integers) '0)
           ((null (rest integers))
            `(abs (the integer ,(first integers))))
  
positive.code:              (dolist (n (rest integers))
                 (setf result (list 'two-arg-gcd result n)))
               result))))
  
  (defmacro define-comparison-operator (name base type)
    `(progn (defun ,name (number &rest more-numbers)
  
negative.code:                 (return nil))
                (setf number n)))
            (define-compiler-macro ,name (number &rest more-numbers)
              (let ((n-numbers (1+ (length more-numbers))))
                (case n-numbers
                  (1 `(progn (check-type ,number ,',type) 't))
  