     :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

  "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)))

    :arglists '([& body]
                [process-extras & body])}
  send-all!
  (fn [?process-extras & body]
    (with-extras ?process-extras nil
      (apply send-if! process-extras (constantly true) body))))

(defn redef-svr!
