(def channel (ev/chan))
(ev/spawn
(do
(for i 0 10
(ev/give channel (math/random))
(ev/sleep 0.25))
(ev/chan-close channel)))
(defn consumer [name delay]
(loop [item :iterate (ev/take channel)]
(match item
[:close _] nil
v (print name " got " v))))
(ev/call consumer "bob" 1)
(ev/call consumer "alice" 3)