factors out different macro runtimes from macroRuntime