```
SELECT 
    fromUnixTimestamp64Nano(fromUnixTimestamp64Milli(fromUnixTimestamp64Milli(fromUnixTimestamp64Milli(fromUnixTimestamp64Milli(fromUnixTimestamp64Milli(fromUnixTimestamp64Nano(fromUnixTimestamp64Milli(fromUnixTimestamp64Milli('ab\0ab\0ab\0ab\0', NULL)))))), NULL)), 123),
    uniqUpTo(100)(fromUnixTimestamp64Nano(-9223372036854775808), x)
FROM 
(
    SELECT arrayJoin([[], [], ['a', 'b'], []]) AS x
)
```

https://clickhouse-test-reports.s3.yandex.net/13169/45894fcf99446d449286e10d109c345b72406a75/fuzzer/fuzzer.log#fail1
{
        return std::make_shared<FunctionUnixTimestamp64<Impl>>();
    }
    String getName() const override { return name; }
    size_t getNumberOfArguments() const override { return is_result_datetime64 ? 2 : 1; }
    bool isVariadic() const override { return is_result_datetime64; }
    DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override
    {
        if constexpr (is_result_datetime64)
        {
            validateFunctionArgumentTypes(*this, arguments,
                    FunctionArgumentDescriptors{{"value", isDataType<SourceDataType>, nullptr, std::string(SourceDataType::family_name).c_str()}},
                    
                    FunctionArgumentDescriptors{
    
                        {"timezone", isStringOrFixedString, isColumnConst, "Timezone of the result"},
                    });
            const auto timezone = extractTimeZoneNameFromFunctionArguments(arguments, 1, 0);
            return std::make_shared<DataTypeDateTime64>(target_scale, timezone);
        }
        else
        {
            validateFunctionArgumentTypes(*this, arguments,
                    FunctionArgumentDescriptors{{"value", isDataType<SourceDataType>, nullptr, std::string(SourceDataType::family_name).c_str()}});
            return std::make_shared<DataTypeInt64>();
        }
    }
    void executeImpl(Block & block, const ColumnNumbers & arguments, size_t result, size_t input_rows_count) const override