 (ns evermind.domain.core
-    (:require [clojure.spec.alpha :as s]
-      [clojure.set :as cljset]
-      [clojure.spec.gen.alpha :as gen]))
+  (:require [clojure.spec.alpha :as s]
+            [clojure.spec.gen.alpha :as gen]
+            [clojure.set :as cljset]))
 
 (s/def ::node
   (s/keys :req-un []

  (s/keys :req-un []
          :opt-un [::text]))

(s/def ::pred-result boolean?)

(s/fdef ::pred
         :args (s/cat :node ::node)
         :ret ::pred-result)



(defn create-node


(defn remove-child
  ([node child]
   (assoc node :children (set (remove #(= % child) (:children node))))))

(s/fdef remove-child
        :args (s/cat :node ::node :child ::node)
