If there is a "if" in a "finally" block and the enclosing "try" is in a CLJS "go" block, then the result of the "try" is always nil.
Example code:
(ns demo
(:require-macros
(link: cljs.core.async.macros :refer [go)]))
;; Prints: "in a try"
(println (try "in a try" (finally (if true nil ))))
;; Prints: "in a try"
(go (println (try "in a try" (finally nil))))
;; Prints: nil
(go (println (try "in a try" (finally (if true nil )))))