{
    std::vector<char> data(std::move(left.serialized_data));
    const size_t initial_size = data.size();
    const size_t final_size = initial_size * times;
    data.reserve(final_size);
    for (T i = 0; i < times; ++i)
    {
        data.insert(data.end(), data.begin(), data.begin() + initial_size);
    }
    return CodecTestSequence{
        left.name + " x " + std::to_string(times),
        std::move(data),
        std::move(left.data_type)
    };
}
std::ostream & operator<<(std::ostream & ostr, const Codec & codec)
{
    ostr << "Codec{"
         << "name: " << codec.codec_statement;
    if (codec.expected_compression_ratio)
        return ostr << ", expected_compression_ratio: " << *codec.expected_compression_ratio << "}";
    else
        return ostr << "}";
}
std::ostream & operator<<(std::ostream & ostr, const CodecTestSequence & seq)