anchor.diff:    (some (alexandria:rcurry #'member '(prop state set-state %thisref))
           (alexandria:flatten code)))
   
  -(defun %add-thisref-binding (code &key (lambda-wrap t))
  +(defun %add-thisref-binding (code)
     "Wrap code in a rebinding of 'this', so that macros in the code can find it even when it has been stomped. Do so only if the code uses those macros."
     (if (%needs-thisref-p code)
  -      (if lambda-wrap
  -          (let ((args (gensym)))
  -            `(lambda (&rest ,args)
  -               (let ((%thisref this))
  -                 (apply ,code ,args))))
  -          `(let ((%thisref this))
  -             ,code))
  +      `((let ((%thisref this))
  +          ,@code))
  +      code))
  +
  +(defun %add-thisref-lambda (code)
  +  (if (%needs-thisref-p code)
  +      (let ((args (gensym)))
  +        `(lambda (&rest ,args)
  +           (let ((%thisref this))
  +             (apply ,code ,args))))
         code))
   
   (defpsmacro cl-react:def-component (name &body params)
  
positive.code:             `(chain %thisref #:state ,@params))
            (cl-react:set-state (&rest params)
              `(chain %thisref (#:set-state (create ,@params)))))
         ,constructor
         ,@(mapcar
            (lambda (item)
              `(setf (@ ,name prototype ,(car item))
                     (lambda ,(second item) ,@(%add-thisref-binding (cddr item)))))
            others)
         (setf (@ ,name prototype) (chain -object (create (@ -react -pure-component prototype))))
         (setf (@ ,name prototype constructor) ,name))))
  
  (defpsmacro cl-react:prop (&rest params)
    `(chain this #:props ,@params))
  
negative.code:             (ps:create
               ,@(when (car params)
                       `(:render (lambda ()
                                   ,@(%add-thisref-binding  (list (car params))))))
               ,@(when name
                       `(#:display-name ',name))
               ,@(loop for (k v) on (cdr params) by #'cddr
                    collect k
                    collect (%add-thisref-lambda v))))))
      `(macrolet
           ((cl-react:prop (&rest params)
              `(chain %thisref #:props ,@params))
  