void clear_caches(ctx_t &ctx)
{
    ctx.dc_newvers.clear();

    const size_t ntags = ctx.nfa.tags.size();
    for (size_t t = 0; t < ntags; ++t) {
        ctx.dc_hc_caches[t].clear();
    }
}
void clear_caches(ctx_t &ctx)
{
    ctx.dc_newvers.clear();

    const size_t ntags = ctx.nfa.tags.size();
    for (size_t t = 0; t < ntags; ++t) {
        ctx.dc_hc_caches[t].clear();
    }
}