             ::specs/receive-total-bytes
             ::specs/receive-written]} ::specs/incoming
     {:keys [::specs/send-eof-acked]} ::specs/outgoing
+    log-state ::log2/state
     :as state}]
   {:pre [recent]}
   (let [{{:keys [::specs/next-action]

    ;; just queued, and starts over.
    ;; It's very tempting to try to account for
    ;; that scenario here, but it would involve
    ;; enough extra stateful contortions (we'd
    ;; have to peek
    (log/debug prelog "Possibly sending message to parent")
    ;; This is a scenario when it seems like it would
    ;; be nice to be able to peek into io-handle's stream.
    ;; If a message from the child just got buffered, it

    :as timing-details}
   {:keys [::specs/message-loop-name]
    :as io-handle}
   {log-state ::log2/state
    :as state}
   ;; This is a variant that consists of a [tag callback] pair
   ;; It's tempting to destructure this here.
   ;; That makes the code a little more concise,
