anchor.diff:  
   ;;;
   
  -(setf (prop this "Object") (js!function () () ()))
  +(setf (prop this 'Object) (js!function () () ()))
  +
   (defun test1 ()
     #+nil(setf (prop this "a") (make-instance 'native-hash))
   #{javascript}
  
positive.code: 	 #+js-debug (format t "this: ~A~%" this)
  	 (let ((arguments (coerce ,argument-list 'simple-vector))
  	       ,@(mapcar (lambda (var-desc)
  			   (list (->sym (car var-desc))
  				 (cdr var-desc))) local-var-list))
  	   (multiple-value-bind ,(mapcar #'->sym args) (values-list ,argument-list)
  	     (block ,blockname ,@body)))))))
  
  (defmacro js!function (name args body)
    `(make-instance 'native-function
  
negative.code:   `(progn ,@form))
  
  (defmacro js!name (attr)
    (if (eq attr 'this)
        'this
        `(prop this ',attr)))
  
  (defmacro js!dot (obj attr)
    `(prop ,obj ',attr))
  
  (defmacro js!assign (op place val)
    `(setf ,place ,val))
  