M.push_pop
ast.compile.run = ast.interpret
proof that an extremely basic bytecode compiler is sound
(maybe todo: main)