anchor.diff:  
   ;;
   (defun js-number? (o)
  -  (flet ((num? (o)
  -	   (or (numberp o)
  -	       (eq o :NaN)
  -	       (eq o :Inf)
  -	       (eq o :-Inf))))
  -    (or (num? o) (num? (value o)))))
  +  (typecase o
  +    (real t)
  +    (symbol
  +     (or (realp o)
  +	 (eq o :NaN)
  +	 (eq o :Inf)
  +	 (eq o :-Inf)))
  +    (t (eq (prototype o) number.prototype))))
   
   (deftype js.number ()
     `(satisfies js-number?))
  
positive.code: (defgeneric to-string (obj)
    (:method (obj) (format nil "~A" obj)))
  
  ;;
  (defparameter value-of nil) ;;function.prototype is not defined yet
  (defparameter to-string nil)
  
negative.code: 
  ;;
  (defun js-string? (o)
    (typecase o
      (string t)
      (t (eq (prototype o) string.prototype))))
  
  (defparameter string.ctor
    (js-function (obj)
  