def containers_equal(c1, c2):
    if isinstance(c1, six.string_types):
        return c1 == c2

    try:
        for a, b in zip(c1, c2):
            if not containers_equal(a, b):
                return False
            if isinstance(c1, dict) and isinstance(c2, dict):
                if not containers_equal(c1[a], c2[b]):
                    return False
    except TypeError:
        pass

    return True
I add writer to the set of file descriptors to get write events for.
dataset/ETHPy150Open glue-viz/glue/glue/core/tests/test_state.py/containers_equal--crossover with--dataset/ETHPy150Open kuri65536/python-for-android/python-modules/twisted/twisted/internet/interfaces.py/IReactorFDSet.addWriter