anchor.diff:        (cond
   	((string-equal name "this") 'js-user::this) ;this is always bound
   	((string-equal name "arguments") '(!arguments))
  -	((string-equal name "eval") '(!evalx))
  +	((string-equal name "eval") '(!eval-in-lexenv))
   	(t (multiple-value-bind (n found) (count-lookups lexchain 0)
   	     `(,@(build-tree n found))))))))
   
  
positive.code: 		  `(setf ,(->usersym name)
  			 (!function ,lex-chain ,name ,args ,locals ,body)))
  		(!return (ret) `,`(return-from ,',blockname ,(or ret :undefined))))
         (let (#+nil (-object-env-stack- *object-env-stack*))
  	 (lambda (js-user::this
  		  &optional ,@(mapcar (lambda (arg)
  					`(,(->usersym arg) :undefined)) args)
  		  &rest ,additional-args)
  	   (let (js-user::arguments)
  	     (let (,@(mapcar (lambda (var)
  			       (list (->usersym var) :undefined)) locals))
  	       (block ,blockname ,@body :undefined))))))))
  
  ;;todo: adhoc solution -- Function object should be added
  (defparameter function.prototype (make-instance 'native-hash))
  
negative.code: 
  (defparameter *global* (make-instance 'global-object))
  (defparameter js-user::this *global*)
  
  ;;;
  
  