There exist functions that are not automatically inferred as returning strings. Hinting these would help in the event that their return values are passed to numeric functions, or for code gen with CLJS-2865.
The set I believe needs explicit hints comprises:
CLJS-2868-2.patch passes CI and Canary
Hey Martin, is the top-level hint on clojure.string/join required? (I think it works without it.)
Also, it looks like your editor may have inserted a lot of extra whitespace diffs in the clojure.string/join implementation. (Instead of just adding the hints, it looks like everything was shifted to the right.)
Hopefully it's the last attempt
CLJS-2868-3.patch passes CI