Records have a virtual protected property named EqualityContract (and every derived record overrides it) to ensure that two differents kind of objects are comparable in the same way whatever which object is compared to another one regarding the order.
да, отсюда, там меня и смутило regarding the order