void foo() {
var local_a = this.a;
var local_b = this.b;
...
this.a = local_a;
this.b = local_b;
}
But I'd say it's still worth it for the soundness. And I have confidence they'll come up with some improvement. Maybe a way to opt out of setters/getters.