       (fn []
         {::node-id  (next-node-id env)
          ::requires {attribute {}}
-         ::run-or   [(::root graph)]}))))
+         ::run-or   #{(::root graph)}}))))
 
 (defn compute-root-and
   [{::keys [root] :as graph} env {::keys [node-id] :as node}]

        (let [{::keys [requires]} (get-root-node graph)]
          {::node-id  (next-node-id env)
           ::requires requires
           ::run-and  [(::root graph)]})))))

(def dynamic-base-provider-sym `run-graph-base-provider)


(>def ::source-for-attrs :com.wsscode.pathom.connect/attributes-set)
(>def ::requires :com.wsscode.pathom.connect/io-map)
(>def ::root ::node-id)
(>def ::run-and (s/coll-of ::node-id :kind set?))
(>def ::run-next ::node-id)
(>def ::run-next-trail (s/coll-of :com.wsscode.pathom.connect/sym :kind set?))
(>def ::run-or (s/coll-of ::node-id :kind set?))
(>def ::source-sym :com.wsscode.pathom.connect/sym)
(>def ::unreachable-attrs :com.wsscode.pathom.connect/attributes-set)
(>def ::unreachable-syms (s/coll-of :com.wsscode.pathom.connect/sym :kind set?))
