If elements are declared of the derived type, everthing is the same.
Just like in OO languages, we want some kind of polymorphic content so that derived type instances can be substituted for their super types.
That is, we should be able to use instances of 'ExtendedPerson' in place of instances of 'Person'.
XML Schema allows this but there are some strange consequences (which can be fixed).