```sql
SELECT hex(normalizeUTF8NFC('â'))

Received exception from server (version 22.4.5):
Code: 49. DB::Exception: Received from localhost:9000.
 DB::Exception: Column size mismatch (internal logical error): 
While processing hex(normalizeUTF8NFC('â')). (LOGICAL_ERROR)
```

```sql
SELECT
    'â' AS s,
    normalizeUTF8NFC(s) s1,
    normalizeUTF8NFD(s) s2,
    normalizeUTF8NFKC(s) s3,
    normalizeUTF8NFKD(s) s4,
    hex(s),
    hex(s1),    
    hex(s2),
    hex(s3),
    hex(s4)
```
{
        return unorm2_getNFDInstance(err);
    }
};
struct NormalizeNFKCImpl
{
    static constexpr auto name = "normalizeUTF8NFKC";
    static constexpr auto expansionFactor = 18;
    static const UNormalizer2 *getNormalizer(UErrorCode *err)
    {
        return unorm2_getNFKCInstance(err);
    }
};
struct NormalizeNFKDImpl
{
    static constexpr auto name = "normalizeUTF8NFKD";
    static constexpr auto expansionFactor = 18;
    static const UNormalizer2 *getNormalizer(UErrorCode *err)
    {
        return unorm2_getNFKDInstance(err);
    }
};
template<typename NormalizeImpl>
struct NormalizeUTF8Impl
{
    static void vector(const ColumnString::Chars & data,