 (defn- make-fs-seq-stub
   ([inp-set fs] (make-fs-seq-stub inp-set fs (map fs/fs-name fs)))
   ([inp-set [first-fs & rest-fs] fs-names]
-     (let [left-stub (make-atomic-stub nil inp-set first-fs)]
+     (let [left-stub (get-atomic-stub nil inp-set first-fs)]
        (if (empty? rest-fs)
          left-stub
          (make-pair-stub1 nil left-stub (rest fs-names)

#_ (def  ^{:private true} cache-trait summaries/uncached-summarizer-node)
  (def ^{:private true} cache-trait summaries/eager-cached-summarizer-node)
#_ (def ^{:private true} cache-trait summaries/less-eager-cached-summarizer-node)
#_ (def ^{:private true} cache-trait summaries/lazy-cached-summarizer-node)
#_ (def ^{:private true} cache-trait summaries/pseudo-cached-summarizer-node)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;       Utilities      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    (connect-subsuming! ret subsuming-sp)
    ret))

;; TODO: do something more with subsuming?
(defn- get-atomic-stub [subsuming-sp inp-set function-set]
  (let [name [:Atomic (fs/fs-name function-set) inp-set]]
   (if *decompose-cache*
     (util/cache-with ^HashMap *decompose-cache* name
       (make-atomic-stub name subsuming-sp inp-set function-set))
     (make-atomic-stub name subsuming-sp inp-set function-set))))



