 (def default-context-opts
   {:collect-thresh 0
    :signal-thresh  0
-   :timeout        100
+   :timeout        5
    :max-ops        1e6})
 
 (defn vertex

                (let [t (timeout max-t)
                      [[evt v ex] port] (alts! [ctrl t])]
                  (if (= port t)
                    (do (info "graph converged, done...")
                        (execution-result res t0 colls sigs))
                    (case evt
                      :collect (recur (inc colls) sigs)
                      :signal  (recur colls (inc sigs))
                      :error   (warn ex "@ vertex" v)
                      (do (info "wrong event" evt v)))))
                (do (info "reached max ops: " max-ops)
                    (execution-result res t0 colls sigs)))))
          res)))))

(def g (compute-graph))

            (loop [verts (vertices g)]
              (when-let [v (first verts)]
                (when (should-collect? v c-thresh)
                  (collect! v))
                (when (should-signal? v s-thresh)
                  (signal! v))
                (recur (next verts))))
