                :node node
                :node-to-remove node-to-remove)
   [(-> node
-       (update-in [:upstream] set-disclude node-to-remove)
-       (update-in [:downstream] set-disclude node-to-remove))
+       (update-in [:upstream] util/set-disclude node-to-remove)
+       (update-in [:downstream] util/set-disclude node-to-remove))
    []])
 
 (s/defmethod receive-msg :heartbeat :- CommUpdateSchema

               :receive-msg-node-unsubscription
               :replacement-messages replacement-messages
               :drop-me-msgs drop-me-msgs)
      [(node->removed node) (concatv replacement-messages drop-me-msgs)])))

(s/defn set-disclude :- #{s/Any}
  [s :- #{s/Any}
   to-remove :- s/Any]
  (into #{} (remove #(= % to-remove) s)))

(s/defmethod receive-msg :node-removal :- CommUpdateSchema
  #_"Take 'config, a 'node, and the contact address of a

  "
  (:require [clojure.string :as str]
            [taoensso.timbre :as timbre]
            [schema.core :as s]
            [scamp.util :as util]))

(s/set-fn-validation! true)

