                  (if (or (not ready?) (not (= status :live)))
                    (do (reset! state :go)
                        (->> (make-atomic-subproblem s function-set subsuming-sp out-set reward status)
-                            (add-child-sp! s)))
+                            (set-stub-output! s)))
                    (do (reset! state op) (summaries/summary-changed! s))))
                (do (reset! state :go) (summaries/summary-changed! s))))))]
     (connect-subsuming! ret subsuming-sp)

    (add-watcher! watch
      (fn [o] ;        (println ret o)
        (summaries/summary-changed-local! ss)
        (connect-and-watch! ret (stub-f o) #(add-child-sp! ret %))
        (summaries/summary-changed! ret))) ;; TODO: efficiency?
    
    ret))

    (connect-subsuming! ret subsuming-sp)
    (summaries/connect! ret (tree-summarizer left-sp) false)
    (connect-and-watch! ret right-stub 
      #(set-stub-output! ret (make-pair-subproblem subsuming-sp ret left-sp %)))
    ret))

(defn- make-pair-stub1 [subsuming-sp left-stub right-name right-stub-fn]
