And what if I like to write a property getter? @property float x() const pure nothrow { ... } @property void x(float x) { ... } This should still be possible, otherwise you will not convince me.