Getters and setters still have some semantic issues, I think; see e.g. 16636404.
Finding issues to be fixed is all what this thread is about. :-) I think we have identified various improvements on functions to add to the 8.0 roadmap.
In the case of variables, we conceptually get default getters and setters for non-private variables unless they are overridden.
That's not quite true when it comes to overloading. If only the conceptual default getters and setters would be overridden for variables then they wouldn't share storage.
I'm sorry, but I don't quite follow here. Can variables be overloaded? Can you give a code example of what you mean?
Well, it better be sorted out first. There's currently quite a difference in direct access vs going through getters, so I suspect it'll require some doing to get the optimizer to cover that. Until then the performance considerations remain.
All in good time, of course. Right now we're just trying to decide where we want to go, and what is preventing us from getting there.