**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)
```
static auto apply(const char * s, const size_t len)
    {
        union
        {
            UInt64 u64;
            uint8_t u8[sizeof(u64)];
        };
        metrohash64_1(reinterpret_cast<const uint8_t *>(s), len, 0, u8);
        return u64;
    }
    static constexpr bool use_int_hash_for_pods = true;
};
struct ImplXxHash32
{
    static constexpr auto name = "xxHash32";
    using ReturnType = UInt32;
    static auto apply(const char * s, const size_t len) { return XXH32(s, len, 0); }
    /**
      *  With current implementation with more than 1 arguments it will give the results
      *  non-reproducible from outside of CH.
      *
      *  Proper way of combining several input is to use streaming mode of hash function
      *  https://github.com/Cyan4973/xxHash/issues/114#issuecomment-334908566
      *
      *  In common case doable by init_state / update_state / finalize_state
      */
    static auto combineHashes(UInt32 h1, UInt32 h2) { return IntHash32Impl::apply(h1) ^ h2; }