anchor.diff:  ;;;    boolean work_pending(  );
   
   (define-method work_pending ((orb orb))
  -  (io-work-pending-p))
  +  (or (io-event-waiting-p)
  +      (work-queue orb)
  +      (progn (io-driver t) (io-event-waiting-p))))
   
   
   ;;;    void perform_work( );
   
   (define-method perform_work ((orb orb))
     (let ((*running-orb* t))
  -    (orb-work t)))
  +    (orb-work orb t t)))
   
   
   ;;;    void run();
  
positive.code:     (unwind-protect 
        (let ((*running-orb* t))
          (loop while (orb-active orb)
                do (orb-work nil)))
        (setq *running-orb* old))))
  
  
  
negative.code:     :the-orb orb
      :profiles profiles
      :raw-profiles raw-profiles ))
  
  
  ;;; Work Queue
  
  (defmethod enqueu-work ((orb clorb-orb) thunk)
    (setf (work-queue orb)
          (nconc (work-queue orb) (list thunk))))
  
  
  (defmethod add-pending-client-request ((orb clorb-orb) client-request)
  