             :data [config fs inp-sets out-sets rewards status]
             :expand!-fn
             (fn expand! [s]
-              (util/print-debug 1 "expand" nm)
+              (util/print-debug 1 "expand" nm (and subsuming-sp @(:expanded?-atom subsuming-sp) true))
               (reset! expanded? true)
               (reset! summary-fn (util/safe-get config :or-summarize))
               (if (and subsuming-sp @(:expanded?-atom subsuming-sp)) ;; TODO: don't require expanded?


(defn- publish-inner-child! [sp child-sp]
  (connect-and-watch! sp child-sp (partial publish-child! sp false))
  (sg/status-increased! sp child-sp))

(defn publish-child! [sp constituent? child-sp]
  (when child-sp			

(set! *warn-on-reflection* true)

;; TODO: before publish:
;;FIX refine-input for oc subproblem to solution in thesis
;;FIX no publications from solved.
;; FIX fail on hard  2 0
;; TODO: tricky part is:
;;  status-increased can call summary before we're done.
;;  This can give it stale summary.
;;  We could just skip it, but then decrease may be screwed.

;; Take dash_astar_opt_simple and add back complexities from
;; dash_astar.clj.
