         (if-let [subsuming-sps (seq (filter #(not (terminal? %)) (subsuming-sps (tree-summarizer stb))))]
           (connect-and-watch! ret (apply min-key (comp summary/max-reward summaries/summary sp-ts) subsuming-sps)
             (fn [sub-out]
-              (add-sp-child-stub-up! ret (refine-input sub-out inp-set))))
+              (add-sp-child-stub! ret (refine-input sub-out inp-set) true)))
           (doseq [child-name (map make-fs-seq-name (fs/child-seqs (second (stub-name stb)) inp-set))]
-            (add-sp-child-stub! ret (get-stub child-name inp-set)))) 
+            (add-sp-child-stub! ret (get-stub child-name inp-set) false))) 
         ret))))
 
 ;; Note: this is double-stage to lazily generate children.  Could be simpler single-stage.

  (if-let [left-sp (get-stub-output left-stub)]
    (make-pair-stub2 left-sp (right-stub-fn (output-set left-sp)))
    (let [ret (traits/reify-traits [summaries/or-summarizable (simple-stub nm (input-set left-stub))])]
      (connect-and-watch-stub! ret left-stub 
        (fn [lo]
          (connect-and-watch-stub-up! ret
            (make-pair-stub2 lo (right-stub-fn (output-set lo)))
            #(set-stub-output! ret %))))
      ret)))


              Stub (stub-name       [s] nm)
                   (input-set       [s] in-set)
                   (tree-summarizer [s] (tree-summarizer inner-stub)))]
    (connect-and-watch-stub! ret inner-stub false #(set-derived-stub-output! ret (sp-fn ret %)))
    ret))


