I pretty sure the answer is no, but I'll give a try. It would be possible to adapt extensions methods so that they could be used to define the equals()/hashCode() or the toString() behaviour of a type?