The equality operator ensures equality of all members of the struct. However, there may be cases where, for example, a dynamic property changes its value type, and the ValueType member has not been changed yet. Two structs that have the same Name and bIsDynamicProperty values should still be considered identical for the purposes of determining if they identify the same property.