{
    const auto direction = std::signbit(End - Begin) ? -1 : 1;
    std::vector<char> data(sizeof(T) * (End - Begin));
    char * write_pos = data.data();
    for (auto i = Begin; i < End; i += direction)
    {
        const T v = static_cast<T>(gen(i));
        unalignedStoreLE<T>(write_pos, v);
        write_pos += sizeof(v);
    }
    return CodecTestSequence{
            (fmt::format("{} values of {} from {}", (End - Begin), type_name<T>(), gen_name)),
            std::move(data),
            makeDataType<T>()
    };
}
struct NoOpTimer
{
    void start() {}