macro injection
Use compile_upto