Negation and left side subtraction/set difference callback.
This is used by `- . When called without an argument
the result should be a new instance that represents the negation
of this object, otherwise the result should be a new instance
that represents the difference between this object and arg .