def update_noclob(*args, **kwargs):
    """Updates without overwriting existing keys"""
    if not args:
        raise TypeError(
            "descriptor 'update' of 'UserDict' object needs an argument")
    self = args[0]
    args = args[1:]
    self.__update(self.setdefault, *args, **kwargs)
