```
2021.10.22 07:14:33.963099 [ 3451059 ] {} <Error> Application: DB::Exception: Syntax error (in file ./user_defined/function_a_function.sql): failed at position 39 ('->'): -> ch(2)

$ cat ./user_defined/function_a_function.sql
CREATE FUNCTION a_function AS tuple() -> ch(2)
```
std::stack<ASTPtr> ast_nodes_to_update;
    ast_nodes_to_update.push(function_body_to_update);
    while (!ast_nodes_to_update.empty())
    {
        auto ast_node_to_update = ast_nodes_to_update.top();
        ast_nodes_to_update.pop();
        for (auto & child : ast_node_to_update->children)
        {
            auto identifier_name_opt = tryGetIdentifierName(child);
            if (identifier_name_opt)
            {
                auto function_argument_it = identifier_name_to_function_argument.find(*identifier_name_opt);
                if (function_argument_it == identifier_name_to_function_argument.end())
                    continue;
                auto child_alias = child->tryGetAlias();
                child = function_argument_it->second->clone();
                if (!child_alias.empty())
                    child->setAlias(child_alias);
                continue;
            }
            ast_nodes_to_update.push(child);
        }
    }
    auto function_alias = function.tryGetAlias();
    if (!function_alias.empty())
        function_body_to_update->setAlias(function_alias);
    return function_body_to_update;
}
}