         {log-state ::log/state
          vouch ::vouch} (build-inner-vouch (assoc this
                                                   ::log/state log-state))]
+    (assert log-state)
     (build-initiate-packet! (assoc this
                                    ::log/state log-state
                                    ::specs/inner-i-vouch vouch)


This is destructive in the sense that it overwrites ::shared/work-area
FIXME: Change that"
  [this msg-bytes]
  (let [{log-state ::log/state
         msg ::message/possible-response} (message/filter-initial-message-bytes this
                                                                                msg-bytes)]
    (if msg
      ;; I really don't like this approach to a shared work-area.

                                ::build-vouch
                                "Setting up working nonce"
                                {::shared/working-nonce working-nonce})
            log-state (build-working-nonce! logger
                                            log-state
                                            keydir
                                            working-nonce)
            ;; FIXME: This really belongs inside its own try/catch
            ;; block.
            ;; Unfortunately, that isn't trivial, because the nested
            ;; pieces below here can/will throw their own exceptions.
            ^TweetNaclFast$Box$KeyPair short-pair (::shared/short-pair my-keys)]
        (b-t/byte-copy! text 0 K/key-length (.getPublicKey short-pair))
        (if-let [shared-secret (::state/client-long<->server-long shared-secrets)]
          (let [log-state (log/debug log-state
                                     ::build-vouch
