anchor.diff:         (values (make-instance class :magnitude magnitude 
                                 :degree degree)))
         (real 
  -       (multiple-value-bind (scale adj-magnitude)
  +       (multiple-value-bind (adj-magnitude scale)
              (float-shift-digits magnitude)
            (values (make-instance 
                     class
  
positive.code: ;; thus, towards numerical filtering, i.e. float-to-rational conversion
  ;;
  ;; (float-shift-digits 4.159265358979312d0)
  ;; => -15, 4159265358979312
  ;; previously, without the filtering, would => -15, 4159265358979311
  ;;
  ;; for example:
  ;; (truncate (* 4.159265358979312d0 (expt 10 15)))
  
negative.code: ;; ^ a decimal digit is introduced
  
  ;; (float-shift-digits 1.201d0)
  ;; => 1201, -3
  ;; ^ subtly works around a matter of floating point error
  ;;   i.e. in which (* 10  1.201d0)
  ;;                  => 12.010000000000002d0
  
  ;; (float-shift-digits 1.201)
  ;; => 1201, -3
  
  ;; (float-shift-digits 11.0d0)
  ;; => 11, 0
  
  
  ;; n.b
  