public bool Equals(TKey x, TKey y) => DeepEquals.DeepEqualsCommonType(x, y);
private static int ClassHashCode(object obj) => DeepEquals.GetPropFieldValue(obj).Aggregate(0, (a, c) => a ^ DeepGetHashCode(c.value) * 357);