`
(require '[clojure.core.async :as a])
(a/go (let [a nil] (a/alts! (if a )))) // Unable to resolve a
(a/go (let [a nil] (a/<! (if a ))) // Unable to resolve a
`
Seems that 'go' macro removes falsely initialized symbols that are used as channels, because
in both cases there's exception, that says " Unable to resolve symbol: a in this context".