anchor.diff:  ;;; have been received, NIL otherwise.
   (defun dispatch-fd-events-once (event-base timeout now)
     (loop
  -     :with dlist := nil
        :with fd-events := (harvest-events (mux-of event-base) timeout)
        :for ev :in fd-events
  -     :do (setf dlist (%handle-one-fd event-base ev now dlist))
  +     :for dlist :=    (%handle-one-fd event-base ev now nil)
  +                :then (%handle-one-fd event-base ev now dlist)
        :finally
  -     (priority-queue-reorder (fd-timers-of event-base))
  -     (return (values (consp fd-events) dlist))))
  +        (priority-queue-reorder (fd-timers-of event-base))
  +      (return (values (consp fd-events) dlist))))
   
   (defun %handle-one-fd (event-base event now deletion-list)
     (destructuring-bind (fd ev-types) event
  
positive.code: 
  (defgeneric remove-fd (event-base fd))
  
  (defgeneric event-dispatch (event-base &key one-shot timeout &allow-other-keys))
  
  (defgeneric exit-event-loop (event-base &key delay))
  
  
negative.code: (defvar *maximum-event-loop-timeout* 1.0d0)
  
  (defmethod event-dispatch :around ((event-base event-base)
                                     &key timeout one-shot
                                     min-timeout max-timeout)
    (declare (ignore one-shot min-timeout max-timeout))
    (setf (exit-p event-base) nil)
    (when timeout
      (exit-event-loop event-base :delay timeout))
  