Observe that the result of an edge addition is not defined if the addition of the required edges would yield different
edges with the same label and leaving the same node, and that either are functional or arrive in nodes with different
labels. Unfortunately, given an arbitrary GOOD program, i.e., a sequence of GOOD operations, statically checking
the “consistency” of an edge addition in the program is undecidable in general, as can be shown using results from [11,
[ 2 2 ] .So, in general, some limited run-time checks have to be performed. In practice, one can always construct a program in such a way that the edge additions are guaranteed to succeed.