anchor.diff:      rem))
   
   (defun generic-+ (x y)
  -  (error "TODO"))
  +  (cond ((and (fixnump x)
  +              (fixnump y))
  +         (error "FIXNUM/FIXNUM case hit GENERIC-+"))
  +        ((and (fixnump x)
  +              (bignump y))
  +         (%%bignum-+ (%make-bignum-from-fixnum x) y))
  +        ((and (bignump x)
  +              (fixnump y))
  +         (%%bignum-+ x (%make-bignum-from-fixnum y)))
  +        ((and (bignump x)
  +              (bignump y))
  +         (%%bignum-+ x y))
  +        (t (check-type x number)
  +           (check-type y number)
  +           (error "Argument combination not supported."))))
   
   (define-lap-function %%bignum-- ()
     ;; Save on the lisp stack.
  
positive.code:         ((and (bignump x)
                (bignump y))
           (%%bignum-* x y))
          (t (error "Argument combination not supported."))))
  
negative.code:         ((and (bignump number)
                (bignump divisor))
           (%%bignum-truncate number divisor))
          (t (check-type number number)
             (check-type divisor number)
             (error "Argument combination not supported."))))
  
  (defun generic-rem (number divisor)
    (multiple-value-bind (quot rem)
  