                 (->result :max-ops-reached sigs colls t0))
               (->result :converged sigs colls t0))))))))
 
-(defn async-execution-context2
+(defn async-execution-context
   [opts]
   (let [ctx         (merge (default-async-context-opts) opts)
         g           (:graph ctx)

  ([acc] acc)
  ([[act as ac] [act' s c]] [(into act act') (+ as s) (+ ac c)]))

(defn default-async-context-opts
  []
  {:collect-thresh 0
   :signal-thresh  0
   :processor      eager-async-vertex-processor
   :max-ops        1e6
   :threads        #?(:clj (inc (.availableProcessors (Runtime/getRuntime))) :cljs 1)})

(defn async-execution-context
  [opts]
  (let [ctx       (merge (default-async-context-opts) opts)
        g         (:graph ctx)

              [active sigs (inc colls)])
          [active sigs colls])))))

(defn eager-probabilistic-vertex-processor
  [s-thresh c-thresh]
  (fn [[active sigs colls] v]
    (let [active (conj active v)]
