Useful Things to Know, #423
You can't use extension methods to provide a better .Equals method. Even if your Equals method takes an instance of the actual class as a parameter rather than System.Object, the innate method of the class will be used before yours.