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 

for (size_t j = 0; j < array_size; ++j)
            {
                if constexpr (Case == 2) 
                     if (hasNull(null_map_item, i))
                        continue;
                if constexpr (Case == 3) 
                    if (hasNull(null_map_data, current_offset + j))
                        continue;
                if constexpr (Case == 4) 
                {
                    const bool right_is_null = hasNull(null_map_data, current_offset + j);
                    const bool left_is_null = hasNull(null_map_item, i);
                    if (right_is_null != left_is_null)
                        continue;
                    if (!right_is_null && !compare(data, target, current_offset + j, i))
                        continue;
                }
                else if (!compare(data, target, current_offset + j, i))
                        continue;
                ConcreteAction::apply(current, j);
                if constexpr (!ConcreteAction::resume_execution)
                    break;
            }
            result[i] = current;
            current_offset = offsets[i];
        }
    }
public:
    template <class Data, class Target>
    static void vector(