Currently threads can race in send-to-eval and we can lose a promised-conn and livelock.
An attempt.
fixed https://github.com/clojure/clojurescript/commit/120a1b84b3e2e9274ebf22c2ae8dc28166e71c0d