anchor.diff:  (defconstant +math-sqrt-2 (sqrt 2.0d0))
   
   ;;; Get rid of complains, use DEFPARAMETER...
  -(defparameter +decimal-digits+ "1234567890")
  +(defparameter +decimal-digits+ "0123456789")
   (defparameter +exponent-indicator+ "eE")
   
   (deftype number-raw ()
  
positive.code: 	       (parse-integer string :start 2 :radix 2)))))))
      ;; Now we must be parsing a decimal, or NaN.
      (let ((integer-part 0)
  	  (decimal-part 0.0)
  	  (saw-integer-digits nil)
  	  (saw-decimal-digits nil)
  	  (saw-decimal-point nil)
  	  (exponent #\E)
  	  (exponent-sign 1)
  	  (exponent-value 0))
        ;; Underlying methods are taken from Mezzano's reader.
        (flet ((peek ()
  	       (when (< position (length string))
  		 (char string position)))
  
negative.code:   (-object-number value))
  
  ;;; Helper function to parse a general number...
  (defun parse-number (string)
    ;; Firstly check the first two chars, if they match 0x/0X, 0o/0O, 0b/0B,
    ;; use corresponding radix PARSE-INTEGER. Or handle decimal values.
    (declare (type string string))
    (let ((sign 1))
      (when (> (length string) 2)
        (let ((first-char (char string 0))
  	    (second-char (char string 1)))
  	(when (char= first-char #\0)
  