Hi, I may have found a bug. 

ClickHouse client version 21.10.1.8013 (official build).

```
CREATE FUNCTION now_debug AS () -> toDateTime('2021-07-01 12:35:34');
```

```
:) select now_debug() as _now_debug, now() as _now;

SELECT
    now_debug() AS _now_debug,
    now() AS _now

Query id: 4f7840e9-4a92-4d16-a33e-a307af1316d2

┌─toDateTime('2021-07-01 12:35:34')─┬────────────────_now─┐
│               2021-07-01 12:35:34 │ 2021-10-10 19:50:44 │
└───────────────────────────────────┴─────────────────────┘

1 rows in set. Elapsed: 0.002 sec.
```

Expected _now_debug, result toDateTime('2021-07-01 12:35:34')

#include "UserDefinedSQLFunctionVisitor.h"
#include <unordered_map>
#include <stack>
#include <Parsers/ASTFunction.h>
#include <Parsers/ASTCreateFunctionQuery.h>
#include <Parsers/ASTExpressionList.h>
#include <Parsers/ASTIdentifier.h>
#include <Interpreters/UserDefinedSQLFunctionFactory.h>
namespace DB
{
namespace ErrorCodes
{
    extern const int UNSUPPORTED_METHOD;
}
void UserDefinedSQLFunctionMatcher::visit(ASTPtr & ast, Data &)
{
    auto * function = ast->as<ASTFunction>();
    if (!function)
        return;
    auto result = tryToReplaceFunction(*function);
    if (result)
        ast = result;
}
bool UserDefinedSQLFunctionMatcher::needChildVisit(const ASTPtr &, const ASTPtr &)