{
    switch (element_size)
    {
        case 1:
            return EqualByteContainersAs<UInt8>(left, right);
            break;
        case 2:
            return EqualByteContainersAs<UInt16>(left, right);
            break;
        case 4:
            return EqualByteContainersAs<UInt32>(left, right);
            break;
        case 8:
            return EqualByteContainersAs<UInt64>(left, right);
            break;
        default:
            assert(false && "Invalid element_size");
            return ::testing::AssertionFailure() << "Invalid element_size: " << element_size;
    }
}
struct Codec
{
    std::string codec_statement;
    std::optional<double> expected_compression_ratio;
    explicit Codec(std::string codec_statement_, std::optional<double> expected_compression_ratio_ = std::nullopt)