elect
inline fun <R> withProgram(program: Int, block: Program.() -> R): R { Program.name = program return Program.block() } object Program { var name = 0 }