asMutator can produce illegal selector
"#_ asMutator >>> #_:" "#foo:: asMutator >>> #'foo::'"
the implementation should be improved
There is no explicit precondition in asMutator.
The implicit one is:
self preCondition: [self isSelector & self isBinary not]
I personally believe this implicit precondition follows from the comment: Return a setter message from a getter message, as a getter message is a selector and is not binary.
I suggest to close this one.
Perhaps it is time for a "should we add a notion of pre and post conditions for methods", as I have seen several issues in here which is basically about pre conditions not being clear.
So we should add the precondition in an explicit manner.
...
(self isSelector & self isBinary not) ifFalse: [ ^ self ]