 (defn start
   []
   (let [g (triple-graph (f/compute-graph))
-        toxi (:result (add-query g :toxi ['toxi nil nil]))
-        types (:result (add-query g :types [nil 'type nil]))
-        projects (:result (add-query g :projects [nil 'type 'project]))
-        all (:result (add-query g :all [nil nil nil]))
-        num-projects (add-counter g projects)
-        num-types (add-counter g types)
-        inf1 (add-rule g :knows [nil 'knows nil] (fn [[s p o]] [[s 'type 'person] [o 'type 'person] [o 'knows s]]))
+        toxi (:result (add-query! g :toxi ['toxi nil nil]))
+        types (:result (add-query! g :types [nil 'type nil]))
+        projects (:result (add-query! g :projects [nil 'type 'project]))
+        all (:result (add-query! g :all [nil nil nil]))
+        num-projects (add-counter! g projects)
+        num-types (add-counter! g types)
+        inf1 (add-rule! g :knows [nil 'knows nil] (fn [[s p o]] [[s 'type 'person] [o 'type 'person] [o 'knows s]]))
 
         ctx (f/async-context {:graph g :processor f/eager-vertex-processor :timeout nil})]
     (f/execute! ctx)
     (mapv
-     #(add-triple g %)
+     #(add-triple! g %)
      '[[toxi author fabric]
        [fabric type project]
        [toxi type person]])

      (debug :additions adds)
      (doseq [t inferred]
        (info :add-triple t)
        (add-triple g t))
      (swap! (:state vertex) update :val set/union in (set inferred)))))

(defn- index-vertex

      {:acc acc :result res}))
  (query-result
    [_ id] (when-let [q (@queries id)] @@(:res q)))
  (add-rule!
    [_ id query production]
    (let [qid (keyword (str "inf-" (name id)))
          q   (add-query! _ qid query)
          inf (f/add-vertex!
               g {:val #{}
                  ::f/collect-fn (collect-inference _ production)})]
