Copy *self* and apply *changes*.

def _assoc(self, **changes):
        """
        Copy *self* and apply *changes*.
        """
        new = copy.copy(self)

        new._setattrs(changes.items())

        return new