anchor.diff:                       (setf (write-callback client)
                              #'(lambda ()
                                  (when delay
  +                                 (as:remove-event delay)
                                    (as:free-event delay)
                                    (setf (write-callback client) nil
                                          (write-finished-promise client) nil)
  
positive.code: 
  (defun %disconnect (client)
    (setf (message-handlers client) '())
    (funcall (ping-stopper client))
    (unless (as:streamish-closed-p (socket client))
      (as:close-socket (socket client)))
    (values))
  
negative.code:                              (%disconnect client)
                               (let ((condition (make-condition 'mqtt-error
                                                                :format-control "Timed out writing")))
                                 (handle-connection-error client condition)
                                 (reject condition))))
                       (%send-message client message)))))
            (if (null (write-finished-promise client))
  