public BoundElsePart(ElsePartSyntax syntax, BoundStatementBlock body)
        {
            Debug.Assert(!syntax.IsDefault(), "'syntax' must not be null.");
            Debug.Assert(!body.IsDefault(), "'body' must not be null.");

            this.Syntax = syntax;
            this.Body   = body;
        }
        public BoundWhileStatement(WhileStatementSyntax syntax, BaseBoundExpression condition, BoundStatementBlock body)
        {
            Debug.Assert(!syntax.IsDefault(), "'syntax' must not be null.");
            Debug.Assert(!condition.IsDefault(), "'condition' must not be null.");
            Debug.Assert(!body.IsDefault(), "'body' must not be null.");

            this.Syntax    = syntax;
            this.Condition = condition;
            this.Body      = body;
        }
        public BoundSubModule(SubModuleStatementSyntax syntax, string name, BoundStatementBlock body)
        {
            Debug.Assert(!syntax.IsDefault(), "'syntax' must not be null.");
            Debug.Assert(!name.IsDefault(), "'name' must not be null.");
            Debug.Assert(!body.IsDefault(), "'body' must not be null.");

            this.Syntax = syntax;
            this.Name   = name;
            this.Body   = body;
        }
        public BoundForStatement(ForStatementSyntax syntax, string identifier, BaseBoundExpression fromExpression, BaseBoundExpression toExpression, BaseBoundExpression stepExpressionOpt, BoundStatementBlock body)
        {
            Debug.Assert(!syntax.IsDefault(), "'syntax' must not be null.");
            Debug.Assert(!identifier.IsDefault(), "'identifier' must not be null.");
            Debug.Assert(!fromExpression.IsDefault(), "'fromExpression' must not be null.");
            Debug.Assert(!toExpression.IsDefault(), "'toExpression' must not be null.");
            Debug.Assert(!body.IsDefault(), "'body' must not be null.");

            this.Syntax            = syntax;
            this.Identifier        = identifier;
            this.FromExpression    = fromExpression;
            this.ToExpression      = toExpression;
            this.StepExpressionOpt = stepExpressionOpt;
            this.Body = body;
        }