 
 (def *no-identical-nonterminal-outputs* true)
 (def *decompose-cache*       true) ;; nil for none, or bind to hashmap
-(def *state-abstraction*     :eager #_ :deliberate) ;; Or lazy or nil.
-
-(assert (contains? #{nil :eager :deliberate} *state-abstraction*))
-(when *state-abstraction* (assert *decompose-cache*))
-(when *decompose-cache* (assert *no-identical-nonterminal-outputs*)) 
+(def *state-abstraction*     :eager ) ;; Or lazy or nil.
+
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;       Utilities      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; TODO: garbage collect dead stuff
;; TODO: improve top-down propagation of bounds
;; TODO: better subusmption.
;; TODO: add options to search alg.

;; TODO: why doesn't subsumption help (at all?)
;; Note: subsumption edges don't help AT ALL, under seemingly any settings

;;;;; Features
;; TODO: pessimistic

;;;;; Summaries and solving (if only 30% of time, who cares!)
;; TODO: pseudo-solve
;; TODO: smarter summary updates (i.e., pass child)
;; TODO: halfway eager prop -- eager about cost, not contents.

;;;;; SP caching
;; TODO: tail (i.e., pair) caching? -- Only help for >2 len refs...
;; TODO: cache refine-inputs?
;; TODO: cache children of output-collector?

