anchor.diff:  (stdfunc "eval" (str)
     (compile-eval (translate (parse-js:parse-js-string (to-string str)))))
   
  +;; TODO URI encoding/decoding functions
  +
   (defun ensure-proto (spec)
  -  (if (keywordp spec)
  -      (find-proto spec)
  -      (obj-from-props (find-proto :object) (cons (pr "constructor" nil) spec))))
  +  (cond ((keywordp spec) (find-proto spec))
  +        ((eq (car spec) :clone)
  +         (obj-from-props (find-proto (second spec)) (list (pr "constructor" nil))))
  +        (t (obj-from-props (find-proto :object) (cons (pr "constructor" nil) spec)))))
   
   (defun build-constructor (self proto props constr)
     (obj-from-props (find-proto :function)
  
positive.code:            (t (,cmp ls rs)))))
  
  (stdobject "Math"
    (pr "E" (exp 1))
    (pr "LN2" (log 2))
    (pr "LN10" (log 10))
  
negative.code:             (unless (obj-p res) (return res)))))
        (js-type-error))))
  
  (deftype js-number ()
    (if *float-traps*
        '(or number (member :Inf :-Inf :NaN))
  