Daniel Keep wrote:
That's true, but you haven't addressed the other side of it: property setters.
Right. Consider the case where there's a pure function with no arguments, and an overload with the same name and one argument, and no other overloads. Wouldn't it be reasonable to take that as a property setter?
With D, you would need to explicitly state which methods are properties manually somehow; dunno how you would, though. Especially when you consider subclassing and mixins.
See my rule above - I think it'll work.