             (->> outs
                  (map
                   (fn [[k [_ opts]]]
-                    (str (:id v) "->" (:id k) "[label=" (pr-str opts) "];\n")))
+                    (str (:id v) "->" (:id k) "[label=\"" (pr-str opts) "\"];\n")))
                  (cons
                   (format
                    "%d[label=\"%d (%s)\"];\n"

          (do (debug (format "%d receive from %d: %s" id src-id (pr-str sig)))
              (receive-signal vertex src-id sig)
              (when (should-collect? vertex collect-thresh)
                (notify ctx [:collect id])
                (collect! vertex)
                ;;(debug (format "%d post-collection: %s" id (pr-str @vertex)))
                (when (should-signal? vertex signal-thresh)
                  (notify ctx [:signal id])
                  (signal! vertex)))
              (recur))
          #_(debug (str id " stopped")))))

%s}")
       (spit path)))

#_(def g (compute-graph))
#_(def ctx
  (async-context
   {:graph     g
    :bus-size  64
