   ;; worth writing this way instead
   Logger
   (log! [_ msg]
-    (println (pr-str msg)))
+    (prn msg))
   ;; Q: Is there any point to calling .flush
   ;; on STDOUT?
   ;; A: Not according to stackoverflow.

    (-> log-state
        (update ::lamport inc)
        (assoc ::entries [])))
  (init (inc (::lamport log-state))))

(s/fdef synchronize
        :args (s/cat :lhs ::state

  ;; The i/o costs should be quite a bit higher than
  ;; the agent overhead...though I do know that
  ;; a go-loop would be more efficient
  (log! logger {::what "flushing"
                ::context context})
  (doseq [message (::entries log-state)]
    (log! logger message))
  (flush! logger)
