anchor.diff:                   do (setf (aref vect i) n))))))
   
     (define-real-range real-range
  -    :type real)
  +    :type real*)
   
     (define-real-range short-float-range
       :type short-float)
  
positive.code:           (values start stop)
            (values 0 start))
      (check-range start stop step)
      (dispatch-case ((start real) (stop real) (step real))
        ((array-index array-index non-negative-integer)
         (if (<= start stop)
             (count-range/3 start stop step)
  
negative.code:              (debug 0)
               (safety 0)
               (compilation-speed 0))))
  
  ;;; The spec says that rational and float are disjoint subtypes of
  ;;; real, but it does not say they are exhaustive.
  (deftype real* ()
    '(or rational float))
  
  (defun range-error (start stop step)
    (error 'arithmetic-error
  