I really want to see analysis tools get better, and easier to write, but I am worried that exposing Clojure implementation details is pouring concrete around our feet.

Better would be to make the ClojureScript analyzer (which has a well-considered data interface) smart enough to do the parts of the job it cannot currently do. I say this without having assessed how much work that is.

If you mean rewrite analyze to produce AST nodes identical to ClojureScript, then I can do that. I'd like to get it into Clojure Contrib at some point, it would make sense for it to produce unified AST nodes.