A value of type (Network edge node (In role) a) is called a in-edge, and a
value of type (Network edge node (Out role) a) is called a out-edge.

It is assumed that the node type is designed such that it is impossible to
construct a in-edge that is an (nested) application of a Node. This means
that a value of type (Network edge node (In ()) a) can only be constructed
by