Idris LLVM codegen factored out