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 

return false;
            if (const auto* const arg_lc = checkAndGetColumn<ColumnLowCardinality>(&col_arg);
                arg_lc && arg_lc->isNullable())
                return false;
            
            const ColumnPtr left_casted = col_lc->convertToFullColumnIfLowCardinality();
            const ColumnPtr right_casted = col_arg.convertToFullColumnIfLowCardinality();
            ExecutionData data = {
                *left_casted.get(), *right_casted.get(), col_array->getOffsets(),
                columns, result, {null_map_data, null_map_item}
            };
            return dispatchConvertedLCColumns(data);
        }
    }
    static bool dispatchConvertedLCColumns(ExecutionData& data)
    {
        if (data.left.isNumeric() && data.right.isNumeric()) 
            return executeIntegral<INTEGRAL_TPL_PACK>(data);
        if (checkAndGetColumn<ColumnString>(&data.left))
            return executeStringImpl(data);
        Impl::Main<ConcreteAction, true>::vector(
            data.left,
            data.offsets, data.right,
            data.result->getData(),
            data.maps.first, data.maps.second);
        data.move_result();
        return true;
    }
#undef INTEGRAL_TPL_PACK
    static bool executeString(ColumnsWithTypeAndName & columns, const ColumnNumbers & arguments, size_t result_pos)