In this D2 example (https://d2-lang.com/assets/images/intro-example-a917149ff3b7...), the diagram is nicely designed to be centered on the nexus node crawler. But the choices of which side the tributary nodes are on is not. You might want cron below and ps->express below - or to the sides.
The grammar can be extended to accommodate this (maybe already has been), but what is the semantic meaning of above, below, left or right?
One semantic choice is made: the "persists" arc is unidirectional, and is presented left-to-right - a natural order for many languages.
(Technically, "declarative" needn't be "semantic", but arguably is the most useful one)