Not sure I understand this bit - the two alternative constraints have distinct paths:
You might be thinking in ADL1.4 terms, but in AOM2, every node has an id-code (it’s just that not all id-codes have terminology definitions). So in the final data you can always tell which node the instance data conformed to. Indeed, you could have a DV_CODED_TEXT in the data containing a term that doesn’t match the
id4 constraint, and it would still be allowed to match the
id5 constraint, since a
DV_TEXT constraint node means ‘a DV_TEXT instance, or an instance of any RM sub-type is ok here’. Which is exactly the thing we are trying to prevent, which is why we need to do something special. So for now, I am proposing only additions to the AOM, nothing on the RM.
We humans know that, how to tell the tools that?