...
An alternative approach that would be more backwards compatible for sequentials and other things that expect to have a specific set of child elements would be to create a new upstreams
(plural) attribute that has name → usage key mapping. Or if we want to make it even less possible to write OLX validation, we can make dynamic upstream fields like upstream-intro-to-openedx
.
Multiple inheritance is edge-case city though. We should probably just ignore default values altogether rather in that case, instead of trying to combine things.