exploring llvm bytecode generation with clojure