Control flow

Swift's branching features are in some cases more restrictive than the equivalents in other languages, and in other cases are considerably more powerful.