     ;          [clara.rules :refer [defrule]]
     ;          [clojure.test :refer [deftest is run-tests]]
     ;          [clojure.spec :as s]
-;(macroexpand
-;  '(def-tuple-rule foo
-;     [[?e :todo/done]]
-;     =>
-;     (println "Hey")))
-;
-;(def-tuple-rule foo
-;  [[?e :todo/done]]
-;  =>
-;  (println "Hey"))
-;
-;(deftest foo
-;  (is (= (macroexpand
-;           '(def-tuple-rule foo
-;               [[?e :todo/done]]
-;               =>
-;               (println "Hey")))
-;         (macroexpand
-;           '(defrule foo
-;              [:todo/done [[e a v]] (= ?e e)]
-;              =>
-;              (println "Hey"))))))
-;
-;
-;(s/check-asserts true)
-;(run-tests)
+    ;(macroexpand
+    ;  '(def-tuple-rule foo
+    ;     [[?e :todo/done]]
+    ;     =>
+    ;     (println "Hey")))
+    ;
+    ;(def-tuple-rule foo
+    ;  [[?e :todo/done]]
+    ;  =>
+    ;  (println "Hey"))
+    ;
+    ;(deftest foo
+    ;  (is (= (macroexpand
+    ;           '(def-tuple-rule foo
+    ;               [[?e :todo/done]]
+    ;               =>
+    ;               (println "Hey")))
+    ;         (macroexpand
+    ;           '(defrule foo
+    ;              [:todo/done [[e a v]] (= ?e e)]
+    ;              =>
+    ;              (println "Hey"))))))
+    ;
+    ;
+    ;(s/check-asserts true)
+    ;(run-tests)
     (:require [clara.rules :refer [insert!
                                    insert-all
                                    insert-all!

    [:add-facts :add-facts-logical :retract-facts :retract-facts-logical]))

(defn retractions [trace-by-type]
  (select-keys trace-by-type [:retract-facts :retract-facts-logical]))

(defn insertions [trace-by-type]
  (select-keys trace-by-type [:add-facts :add-facts-logical]))

    {:added (into [] (vals (select-disjoint hashed-adds hashed-retracts)))
     :retracted (into [] (vals hashed-retracts))}))

(def trace-0 (trace/get-trace state-0))
(retractions (trace-by-type trace-0))
(insertions (trace-by-type trace-0))
(split-ops trace-0)

(entities-where state-0 :attr/a)
