Statement block - Gen<None> - 23 - (0:0,0)
    Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1
        CSharpTokenType.Transition;[@];
    Code span - Gen<Stmt> - [while(true) { ] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:7
        CSharpTokenType.Keyword;[while];
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[true];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.LeftBrace;[{];
        CSharpTokenType.WhiteSpace;[ ];
    Expression block - Gen<Expr> - 6 - (15:0,15)
        Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1
            CSharpTokenType.Transition;[@];
        MetaCode span - Gen<None> - [(] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:1
            CSharpTokenType.LeftParenthesis;[(];
        Code span - Gen<Expr> - [foo] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1
            CSharpTokenType.Identifier;[foo];
        MetaCode span - Gen<None> - [)] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1
            CSharpTokenType.RightParenthesis;[)];
    Code span - Gen<Stmt> - [ }] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:2
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.RightBrace;[}];
