   (or (not-empty path-set) consable-empty-path-set))
 
 (defn path-set-cons [v path-set]
-  (path-set-fmap #(cons v %) (consable-path-set path-set)))
+  (path-set-fmap #(cons v %) path-set #_(consable-path-set path-set)))
 
 ;; [PathSet] -> PathSet 
 (defn path-set-join [list-of-path-sets]

(defn path-set-intersect [list-of-path-sets]
  (apply set/intersection list-of-path-sets))



(defn key-paths [desc]
  {:pre [(sequential? desc)]}
  (let [{:keys [known-keys k->s]} (apply parse-keys-args (rest desc))]
    (path-set-join
     (map #(path-set-cons (hash-map :ky % :ky-spec (k->s %)) (poss-path (k->s %)))
      known-keys))))

;; DecribeKeyedVals -> [DecribeVal]

                                    :id 1
                                    :source-paths 2}])
;; similar key implementation
;; this can be improved based on the size of the word

(defn- next-row
  [previous current other-seq]
