anchor.diff:                    (if async-channel
                         (if (not (async-channel/close-p async-channel))
                             (dolist (callback (async-channel/message-callbacks async-channel))
  -                            (funcall callback envelope))
  +                            (let ((*in-async-handler* t))
  +                              (funcall callback envelope)))
                             ;; ELSE: We won't deliver messages to a closed channel
                             (log:warn "Incoming message on closed channel: ~s" async-channel))
                         ;; ELSE: Unused channel
  
positive.code:                             :read (lambda (fd type c)
                                      (declare (ignorable fd type c))
                                      (handle-command async-conn)))
        
        (iolib:set-error-handler event-base in-fd (lambda (&rest aa) (log:error "Got pipe error: ~s" aa)))
  
        ;;
  
negative.code: (define-condition stop-connection ()
    ())
  
  (defvar *in-async-handler* nil)
  
  (defun wait-for-frame (async-conn)
    (log:trace "Waiting for frame on async connection: ~s" async-conn)
    (with-accessors ((channels async-connection/channels)
  