     :arglists '([pred & body]
                 [process-extras pred & body])}
   send-if!
-  (fn [process-extras? pred & body]
+  (fn [?process-extras pred & body]
     (when (bound? #'*svr*)
-      (when-let [connected (:connected @*svr*)]
-        (when-let [clients (seq @connected)]
-          (with-extras pred
-            (doseq [cli clients]
-              (when (pred cli)
-                (apply send! process-extras cli body)))))))))
+      (when-let [clients (some-> @*svr* :connected deref seq)]
+        (doseq [cli clients]
+          (when (pred cli)
+            (with-extras ?process-extras cli
+              (apply send! process-extras cli body))))))))
 
 (def
   ^{:doc

      :doc "Communication functions; copied for convenience into core"}
  rainboots.comms
  (:require [clojure.core.async :refer [put!]]
            [aleph.tcp :as tcp]
            [manifold.stream :as s]
            [rainboots
             [color :refer [process-colors strip-colors]]

  "Default hook fn for colorizing output, installed by default.
   Automatically strips color codes if the client has declared it
   doesn't support them."
  [{:keys [cli _text] :as arg}]
  (update arg :text (if (:colors @cli)
                      process-colors
                      strip-colors)))
