clojure.lang.Compiler/analyzer is much faster than clojure.tools.analyzer.jvm/analyze.
It would be nice if we took jvm.tools.analyzer's approach to converting clojure.lang.Compiler/analyze to a map, but returned the same AST as tools.analyzer.jvm.
:env must contain :context, :locals, :ns and the source info.
We can create an extra pass to fix up the :env if performance is adequate.
TAJ uses :form to find type hints, but it might not be needed since Compiler/analyze resolves reflection itself.