void ConsumeList(List <TypeSpec> elements, TypeTokenKind terminator, string typeImParsing)
 {
     while (true)
     {
         if (tokenizer.Peek().Kind == terminator)
         {
             tokenizer.Next();
             return;
         }
         TypeSpec next = Parse();
         if (next == null)
         {
             throw ErrorHelper.CreateError(ReflectorError.kTypeParseBase + 8, $"Unexpected end while parsing a {typeImParsing}");
         }
         elements.Add(next);
         if (tokenizer.Peek().Kind == TypeTokenKind.Comma)
         {
             tokenizer.Next();
         }
     }
 }
 TypeSpecToken(TypeTokenKind kind, string value)
 {
     Kind  = kind;
     Value = value;
 }