20.7
```
SELECT indexOf(['a', 'b', 'c'], toLowCardinality('a'))

┌─indexOf(['a', 'b', 'c'], toLowCardinality('a'))─┐
│                                               1 │
└─────────────────────────────────────────────────┘
```

20.8
```
SELECT indexOf(['a', 'b', 'c'], toLowCardinality('a'))


Received exception from server (version 20.8.3):
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Types of array and 2nd argument of function "indexOf" must be identical up to nullability, cardinality, numeric types, or Enum and numeric type. Passed: Array(String) and LowCardinality(String).. 
```

https://github.com/ClickHouse/ClickHouse/pull/12550

/cc @myrrc 

{
        const ColumnArray * const left = checkAndGetColumn<ColumnArray>(columns[arguments[0]].column.get());
        if (!left)
            return false;
        const IColumn& right = *columns[arguments[1]].column.get();
        ExecutionData data = {
            left->getData(),
            right,
            left->getOffsets(),
            columns,
            result_pos,
            getNullMaps(columns, arguments)
        };
        return executeIntegral<Integral...>(data);
    }
    template <class ...Integral>
    static inline bool executeIntegral(ExecutionData& data)
    {
        return (executeIntegralExpanded<Integral, Integral...>(data) || ...);
    }
    
    template <class A, class ...Other>
    static inline bool executeIntegralExpanded(ExecutionData& data)