                       (fast-arr))]
     (array-rel full-syms (persistent! coll))))
 
+
 ;;; Bindings
+
 
 (defn- bindable-to-seq? [x]
   (or (shim/seqable? x) (shim/array? x)))
+
 
 (defn- plain-tuple-binding? [binding]
   (and (instance? BindTuple binding)

          (if (empty? non-consts)
            context ;; join was by constants only, nothing changes
            (let [sets (map #(collect % non-consts) contexts)
                  rel  (coll-rel non-consts (into (fast-set) cat sets))]
              (hash-join-rel context rel))))))
    "resolve-or" (dp/source clause)))


  (reduce product rels)) ;; TODO check for empty rels


;; hash-join


