def setdefault(self, key, default=None):
        if not self.may_contain(key):
            raise TypeError('Key %r not allowed in %s %r' %
                            (key, type(self).__name__, self.name))

        if self in key:
            child = self[key]
            if not child.is_empty:
                return child.value
        else:
            self[key] = child = self.field_schema_mapping[key]()
        child.set(default)
        return default
dataset/ETHPy150Open jek/flatland/flatland/schema/containers.py/SparseDict.setdefault/swapped operands of `in`