**Describe the unexpected behaviour**
Hash functions are not supported for `Array(Tuple(...))` columns:

```sql
SELECT cityHash64([(1, 2), (2, 3)])

Received exception from server (version 22.5.1):
Code: 48. DB::Exception: Received from localhost:9000. DB::Exception: Method getDataAt is not supported for Tuple(UInt8, UInt8): While processing cityHash64([(1, 2), (2, 3)]). (NOT_IMPLEMENTED)
```
{
public:
    static constexpr auto name = Name::name;
private:
    using ToType = typename Impl::ReturnType;
    template <typename FromType>
    ColumnPtr executeType(const ColumnsWithTypeAndName & arguments) const
    {
        using ColVecType = ColumnVectorOrDecimal<FromType>;
        if (const ColVecType * col_from = checkAndGetColumn<ColVecType>(arguments[0].column.get()))
        {
            auto col_to = ColumnVector<ToType>::create();
            const typename ColVecType::Container & vec_from = col_from->getData();
            typename ColumnVector<ToType>::Container & vec_to = col_to->getData();
            size_t size = vec_from.size();
            vec_to.resize(size);
            for (size_t i = 0; i < size; ++i)
                vec_to[i] = Impl::apply(vec_from[i]);
            return col_to;
        }
        else
            throw Exception("Illegal column " + arguments[0].column->getName()
                    + " of first argument of function " + Name::name,
                ErrorCodes::ILLEGAL_COLUMN);
    }
public:
    String getName() const override