   [::graph :com.wsscode.pathom.connect/attribute => (? ::node-id)]
   (get-in graph [::index-attrs attribute]))
 
-(defn branch-node? [node]
+(>defn branch-node?
+  [node]
+  [(? (s/keys)) => boolean?]
   (boolean (node-branches node)))
 
 (>defn node-kind

    (assoc graph ::root node-id)
    (dissoc graph ::root)))

(defn node-branches [node]
  (or (::run-and node)
      (::run-or node)))


    graph))

(defn update-node
  "Update a given node in a graph, like Clojure native update."
  ([graph node-id k f]
   (if (get-node graph node-id)
     (update-in graph [::nodes node-id k] f)
