When will `nlocals` be larger than the length of `co_varnames`?

Hi, team, I’m trying to understand the following code:

    map = co->co_varnames;
    if (!PyTuple_Check(map)) {
        PyErr_Format(PyExc_SystemError,
                     "co_varnames must be a tuple, not %s",
                     Py_TYPE(map)->tp_name);
        return -1;
    }
    fast = f->f_localsplus;
    j = PyTuple_GET_SIZE(map);
    if (j > co->co_nlocals)
        j = co->co_nlocals;
    if (co->co_nlocals) {
        if (map_to_dict(map, j, locals, fast, 0) < 0)
            return -1;
    }

My understanding is that co_nlocals equals with the length of co_varnames. Anyone knows when will len(co_varnames) > co->co_nlocals?

The code snippet cpython/Python/compile.c at 3.10 · python/cpython · GitHub seems to indicate they should be always equal.