     (loop [colls 0, verts vertices]
       (if verts
         (let [v (first verts)]
-          (if (should-collect? v thresh)
+          (if (> (score-collect v) thresh)
             (do (debug (:id v) "collecting")
                 (collect! v)
                 (recur (inc colls) (next verts)))

  (fn [vertices]
    (r/fold
     + (fn [colls v]
         (if (should-collect? v thresh)
           (do (collect! v) (inc colls))
           colls))
     vertices)))

  "Computes vertex collect score, here simply the number
  of ::uncollected signal values."
  [vertex] (-> vertex :state deref ::uncollected count))

(defn sync-vertex-signal
  [vertex]
