anchor.diff:  
   (setf *make-optimizer-data* 'make-task-counter-instance)
   
  -(defmacro accept-task-p ()
  +(defmacro accept-task-p (kernel)
  +  (check-type kernel symbol)
     ;; needs fast inline for small functions
     `(locally (declare #.*full-optimize*)
  -     (the boolean (optimizer-flag (the kernel *kernel*)))))
  +     (the boolean (optimizer-flag (the kernel ,kernel)))))
   
   (defmacro define-update-task-count/no-lock (name op)
     `(defun/type ,name (kernel delta) (kernel fixnum) t
  
positive.code: (defmacro define-plet-if/fast (name
                                 future/fast
                                 update-task-count/no-lock)
    `(defmacro ,name (predicate bindings &body body)
       `(%plet/fast ,',future/fast
                    ,',update-task-count/no-lock
                    (and (accept-task-p) ,predicate)
                    ,bindings ,body)))
  
  (define-plet-if/fast plet-if/fast
  
negative.code:   (setf *registered-names*
          (remove-if-not #'valid-registered-name-p *registered-names*)))
  
  (defun registered-macrolets (kernel)
    (loop
       :for name :in *registered-names*
       :collect `(,name (&rest args)
                   `(,',(unchecked-name name) ,',kernel ,@args))))
  
  (defmacro declaim-defpun (&rest names)
    "See `defpun'."
  