https://github.com/thheller/shadow-cljs/blob/master/doc/esm.md is worth a read if you haven't already
@mkvlr Yes that's an interesting read. A few of those are or will be solved by cherry: all libs share the same standard cljs.core library. But this shared package is an all or nothing thing due to how Closure currently works with its globally registered vars. But perhaps in the future Closure will support ES6. Or we could do some rewriting manually. Something to figure out.
As far as cherry is concerned, we only need a tree-shakable ES6 module with core functions and this could be achieved as a one time hack on the Closure output, perhaps. A nice research project of its own which is fairly isolated.