   [out
    {::keys [branch-type] :as env}
    {::keys [node-id] :as node}
-   branch-node]
+   branch-node-factory]
   (if node-id
     (let [root-node (get-root-node out)
           next-node (get-node out node-id)]

        (add-branch-node out env node)

        :else
        (create-branch-node out env node (branch-node))))
    out))

(defn compute-root-or

      (get-in index-resolvers [(pc-sym node) :com.wsscode.pathom.connect/provides]))))

(defn find-dynamic-node-to-merge
  "Given some branch node, tries to find a node with a dynamic resolver that's the
  same sym as the node in node-id."
  [{::keys [root] :as out}
   {::keys [branch-type]
    :as    env}
