Today we can't really subclass a native generated class. These problems are seen when we subclass a user generated class. Overall there were two problems
Adding a field assumed that something else did a dedup and we would always insert a new value
We didn't keep the same field order for the subclass as parent class. This likely wasn't a problem because we would cache miss the inline cache then do a lookup again
Solution
Now we don't make the assumption on fields and we keep the same field order as our parent class.
Problem
Today we can't really subclass a native generated class. These problems are seen when we subclass a user generated class. Overall there were two problems
Solution
Now we don't make the assumption on fields and we keep the same field order as our parent class.