**Use case**

```
CREATE TABLE t
(
    x UInt8,
    y UInt8,
)
```
{
    ParserToken open(TokenType::OpeningRoundBracket);
    ParserToken close(TokenType::ClosingRoundBracket);
    ParserIdentifier name_p;
    ParserNameTypePairList columns_p;
    ASTPtr name;
    ASTPtr columns;
    
    if (!name_p.parse(pos, name, expected))
        return false;
    if (!open.ignore(pos))
        return false;
    if (!columns_p.parse(pos, columns, expected))
        return false;
    if (!close.ignore(pos))
        return false;
    auto func = std::make_shared<ASTFunction>();
    tryGetIdentifierNameInto(name, func->name);
    
    func->arguments = columns;
    func->children.push_back(columns);
    node = func;
    return true;
}
bool ParserIdentifierWithParameters::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)