core-async

2021-01-19T14:22:57.043500Z

I use this for these cases to ensure the channels are not blocking anything when they're closed

(defn drain! [ch]
  (a/close! ch)
  (->> (repeatedly #(a/poll! ch))
       (take-while identity)
       doall))

2021-01-19T14:23:46.043800Z

did think of this. i might as well proceed with this for now and think of a clean strategy later