I am using `nullIf` in aggregations to skip unwanted empty strings. Strangely enough `any` function picks `NULL`s resulting from `nullIf`, i.e. does skip them as it should do with NULLs.

### Minimal reproducing code
```sql
select any(nullIf('', ''), 'some text');
```
produces:
```
┌─nullIf('', '')─┐
│ ᴺᵁᴸᴸ           │
└────────────────┘
```

**Expected behavior**
This should return 'Some text'

### Other example with table
```sql
create temporary table vv (m Nullable(String));
insert into vv (*) values (''), ('Some text');
select any(nullIf(m, '')) from vv;
```
result:
```
┌─nullIf(any(m), '')─┐
│ ᴺᵁᴸᴸ               │
└────────────────────┘
```
expecting 'Some text' as before
{
    if (auto * func = ast->as<ASTFunction>())
        visit(*func, ast, data);
}
void RewriteAnyFunctionMatcher::visit(const ASTFunction & func, ASTPtr & ast, Data & data)
{
    if (!func.arguments || func.arguments->children.empty() || !func.arguments->children[0])
        return;
    if (func.name != "any" && func.name != "anyLast")
        return;
    auto & func_arguments = func.arguments->children;
    const auto * first_arg_func = func_arguments[0]->as<ASTFunction>();
    if (!first_arg_func || first_arg_func->arguments->children.empty())
        return;