anchor.diff:  		(!return (ret) `,`(return-from ,',blockname ,(or ret :undefined))))
          (lambda (js-user::this
   		&optional ,@(mapcar (lambda (arg)
  -				      `(,(->usersym arg) :undefined)) args)
  +				      `(,(->usersym arg) :undefined-unset)) args)
   		&rest ,additional-args)
   	 (let (js-user::arguments)
   	   (let (,@(mapcar (lambda (var)
  
positive.code: 					(declare (ignore n))
  					(setf ,var val)))
  				   vars)
  			 (lambda (n val) (setf (nth (- n ,len) ,oth) val))))))
         (let ((,inst (make-instance 'arguments
  				   :vlen ,len
  				   :length (+ ,len (length ,oth))
  				   :get-arr ,get-arr :set-arr ,set-arr)))
  	 (add-sealed-property ,inst
  			      "length"
  			      (lambda (-)
  				(declare (ignore -))
  				(+ ,len (length ,oth))))
  	 ,inst))))
  
  
  
negative.code:        (not
  	(or (not ,exp)
  	    (eq ,exp :undefined)
  	    (and (numberp ,rexp) (zerop ,rexp))
  	    (eq ,exp :undefined-unset))))))
  
  #+nil (defmacro !label (name body)
  	(tagbody ,(->sym name) ,body))
  