Man, I still hate this left/right/top/bottom. That's like an abuse of rect. We should have like a "Box" or something for that use-case, since the underlying data representation is fundamentally different.

I mean, I guess having "getters" would be ok, but the setters just seem likely to confuse.