<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def default_unmarshaller(instance, state):
 """ Restore the state of an object. If the ``__setstate__()`` method exists on the instance, it is called with the state object as the argument. Otherwise, the instance's ``__dict__`` is replaced with ``state``. :param instance: an uninitialized instance :param state: the state object, as returned by :func:`default_marshaller` """

    if hasattr(instance, '__setstate__'):
        instance.__setstate__(state)
    else:
        try:
            instance.__dict__.update(state)
        except AttributeError:
            raise TypeError('{!r} has no __dict__ attribute and does not implement __setstate__()'
                            .format(instance.__class__.__name__))