void interpret(List<Stmt.Stmt> statements) { try { for (Stmt.Stmt statement in statements) { execute(statement); } } on RuntimeError catch (error) { runtimeError(error); rethrow; } }