Allocates a unique increasing identifier.
Returns gate that is open when this if branch is selected.
Returns gate that is open when this if branch is selected.
Corresponding if-case or None if not part of an if-block.