reusing more machinery from Multicore and Flat compilers