====== Description ======
The switch node is a proxy-node that uses the value of its topic-node to select an evaluation path based on evaluation of its argument list.
====== Constraints ======
* Minimum number of child-nodes: 0
* Maximum number of child-nodes: no limit
====== Calculus ======
- If the topic-node has no data then the switch node's value = 0 (undetermined)
- Otherwise:
- Arguments are evaluated in sequence
- The chosen argument is the first true argument in the argument list
- The chosen child-node is the nth node where n is the index of the chosen argument
- If there are no true arguments and there are more child-nodes than arguments then the chosen child-node is the (n+1)th child-node where n is the argument count.
- If there is a chosen child-node then the value of the chosen child-node is passed as the value of the switch node
- Otherwise the value of the switch node = 0 (undetermined)