 (defn gen-connect-index [attrs]
   {::attrs
    attrs
+
+   ::p/path
+   []
 
    ::s.query/gen-property
    (fn gen-property [{::keys [attrs]}] (gen/elements attrs))

                     [6 (gen-join env)]]))

   ::s.query/gen-join-key
   (fn gen-join-key [{::s.query/keys [gen-property] :as env}]
     (gen-property env))

   ::s.query/gen-join-query
   (fn gen-join-query [{::s.query/keys [gen-query] :as env}]
     (gen-query env))

   ::s.query/gen-query
   (fn gen-query [{::s.query/keys [gen-property gen-query-expr gen-max-depth] :as env}]

                   index
                   (pc/add index sym resolver))) {} resolvers)))})

(defn merge-resolvers [resolvers]
  (reduce (fn [index {::pc/keys [sym] :as resolver}]
            (if (contains? (::pc/index-resolvers index) sym)
              index
              (pc/add index sym resolver))) {} resolvers))

(defn clean-nil [s]
  (into [] (filter identity) s))

(defn gen-connect-query [{::pc/keys [indexes]}]
  {::pc/indexes
   (assoc indexes ::pc/cache (atom {}))

   ::p/path
   []
