there is no async/chan? predicate?
async/chan?
No, see https://stackoverflow.com/questions/47534144/in-clojure-how-to-check-if-an-object-is-a-core-async-channel for a way to check