The DSL model for EIPs is based on Java OO and JAXB and it have some impact on the model.
Some EIPs like Choice, DoTry, and others end up having some of their specific nodes like otherwise, doCatch, when etc part of the general model.
So from DSL point of view then users can constuct "none valid" routes.
JAXB is a bit brittle when you tweak it and we generate the XML XSD based on it, so we are under its mercy.
However its time to see if we can make the model more strict and then better be able to source code generate all DSLs languages (even Java) without having to have hacks.