 (def empty-path-set #{})
 (def consable-empty-path-set #{[]})
 
+;; a lifting operation
 ;; f -> PathSet -> PathSet
 (defn path-set-fmap [f path-set]
   (into #{} (mapv f path-set)))

                                    :id 1
                                    :source-paths 2}])
;; similar key implementation

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

  (or (not-empty path-set) consable-empty-path-set))

(defn path-set-cons [v path-set]
  (path-set-fmap #(cons v %) path-set #_(consable-path-set path-set)))

;; [PathSet] -> PathSet 
(defn path-set-join [list-of-path-sets]
