Directive block - Gen<Directive:{custom;SingleLine;Unrestricted}> - 246 - (0:0,0)
    Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1
        CSharpTokenType.Transition;[@];
    MetaCode span - Gen<None> - [custom] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1
        CSharpTokenType.Identifier;[custom];
    Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (7:0,7) - Tokens:1
        CSharpTokenType.WhiteSpace;[ ];
    Code span - Gen<DirectiveToken {;Type;Opt:False}> - [(bool, int)] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (8:0,8) - Tokens:6
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[bool];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.RightParenthesis;[)];
    Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (19:0,19) - Tokens:1
        CSharpTokenType.WhiteSpace;[ ];
    Code span - Gen<DirectiveToken {;Type;Opt:False}> - [(int aa, string bb)?] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (20:0,20) - Tokens:11
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[aa];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[string];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[bb];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.QuestionMark;[?];
    Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (40:0,40) - Tokens:1
        CSharpTokenType.WhiteSpace;[ ];
    Code span - Gen<DirectiveToken {;Type;Opt:False}> - [(  int?   q   ,  bool   w   )] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (41:0,41) - Tokens:14
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.WhiteSpace;[  ];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.QuestionMark;[?];
        CSharpTokenType.WhiteSpace;[   ];
        CSharpTokenType.Identifier;[q];
        CSharpTokenType.WhiteSpace;[   ];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[  ];
        CSharpTokenType.Keyword;[bool];
        CSharpTokenType.WhiteSpace;[   ];
        CSharpTokenType.Identifier;[w];
        CSharpTokenType.WhiteSpace;[   ];
        CSharpTokenType.RightParenthesis;[)];
    Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (70:0,70) - Tokens:1
        CSharpTokenType.WhiteSpace;[ ];
    Code span - Gen<DirectiveToken {;Type;Opt:False}> - [( int  ?  q, bool ?w ,(long ?  [])) ?] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (71:0,71) - Tokens:26
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.WhiteSpace;[  ];
        CSharpTokenType.QuestionMark;[?];
        CSharpTokenType.WhiteSpace;[  ];
        CSharpTokenType.Identifier;[q];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[bool];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.QuestionMark;[?];
        CSharpTokenType.Identifier;[w];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[long];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.QuestionMark;[?];
        CSharpTokenType.WhiteSpace;[  ];
        CSharpTokenType.LeftBracket;[[];
        CSharpTokenType.RightBracket;[]];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.QuestionMark;[?];
    Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (108:0,108) - Tokens:1
        CSharpTokenType.WhiteSpace;[ ];
    Code span - Gen<DirectiveToken {;Type;Opt:False}> - [(List<(int, string)?> aa, string bb)] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (109:0,109) - Tokens:19
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Identifier;[List];
        CSharpTokenType.LessThan;[<];
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[string];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.QuestionMark;[?];
        CSharpTokenType.GreaterThan;[>];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[aa];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[string];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[bb];
        CSharpTokenType.RightParenthesis;[)];
    Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (145:0,145) - Tokens:1
        CSharpTokenType.WhiteSpace;[ ];
    Code span - Gen<DirectiveToken {;Type;Opt:False}> - [(string ss, (int u, List<(string, int)> k, (Char c, bool b, List<int> l)), global::System.Int32[] a)] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (146:0,146) - Tokens:56
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[string];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[ss];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[u];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[List];
        CSharpTokenType.LessThan;[<];
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Keyword;[string];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.GreaterThan;[>];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[k];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.LeftParenthesis;[(];
        CSharpTokenType.Identifier;[Char];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[c];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Keyword;[bool];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[b];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[List];
        CSharpTokenType.LessThan;[<];
        CSharpTokenType.Keyword;[int];
        CSharpTokenType.GreaterThan;[>];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[l];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.RightParenthesis;[)];
        CSharpTokenType.Comma;[,];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[global];
        CSharpTokenType.DoubleColon;[::];
        CSharpTokenType.Identifier;[System];
        CSharpTokenType.Dot;[.];
        CSharpTokenType.Identifier;[Int32];
        CSharpTokenType.LeftBracket;[[];
        CSharpTokenType.RightBracket;[]];
        CSharpTokenType.WhiteSpace;[ ];
        CSharpTokenType.Identifier;[a];
        CSharpTokenType.RightParenthesis;[)];
