Use an assembler DSL throughout the compiler.