Fast, convention-based equality function generation for .NET