           (let [signal (f vertex opts)]
             (if-not (nil? signal)
               (receive-signal v id signal)
-              (warn "signal fn for" (:id v) "returned nil, skipping...")))
+              (debug "signal fn for" (:id v) "returned nil, skipping...")))
           (recur (next outs)))))))
 
 (def default-vertex-state

  [vertex]
  (if (= @vertex @(:prev-val vertex)) 0 1))

(defn default-score-collect
  "Computes vertex collect score, here simply the number
  of ::uncollected signal values."

     [^Vertex o ^java.io.Writer w] (.write w (.toString (into {} o)))))

(defn vertex
  [id val opts]
  (map->Vertex
   {:id       id
    :value    (atom val)
    :state    (atom (merge default-vertex-state opts))
    :prev-val (atom nil)
    :in       (atom nil)
    :outs     (atom {})}))
