'Helper for the :py:meth:`Spec.copy` function
Populates new instance with values taken from the old one.
:param dict d:
``__dict__`` of the old instance.
:param dict copied:
Storage for already copied values.'

def _update(self, d, copied):

    self.__dict__.update(d)
    self.keys = copy(self.keys)
    self.checks = copy(self.checks)
    self.uspecs = copy(self.uspecs)
    self.specs = [spec.copy(copied) for spec in self.specs]
    return self
