Two DictCells are equal when they share ALL Keys,  and all of their 
        is_equal() methods return True.  This ensures substructure equality.

def is_equal(self, other):
        """ Two DictCells are equal when they share ALL Keys,  and all of their 
        is_equal() methods return True.  This ensures substructure equality.
        """
        if not isinstance(other, DictCell):
            return False
        for (this, that) in itertools.izip_longest(self, other):
            if this[0] != that[0]:
                # compare key names
                return False
            if not this[1].is_equal(that[1]):
                # compare cells
                return False
        return True