"A control structure statement, used to control normal execution flow.
 
 (An assertion failure is not considered as “normal” control flow;
 therefore, an [[Assertion]] is not a control structure.)
 
 Examples:
 
     if (exists elem = queue.take) { process(elem); }
     for (i in 1:12) { print(month(i)); }"
shared abstract class ControlStructure()
        of IfElse | While | ForFail | SwitchCaseElse | TryCatchFinally | DynamicBlock
        extends Statement() {
}