e bytecode before it is sent to the actual compiler.  It
is also easy to build as it is simply an abstraction built out of some of the
fundamental types of Clojure.  This is really nice because this AST gets automatic
visualization via the REPL thus solving one of the problems with AST's - namely that
they can be opaque and difficult to debug.</p>
<p>The <a href="https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings">bytecode</a>
translation of our AST is:</p>
<pre><code class="language-clojure">