def copy(self, *irs):
    new_instance = self.__class__
    assert (len(irs) == len(self.fields))
    return new_instance([(n, ir) for ((n, _), ir) in zip(self.fields, irs)])
def copy(self, *irs):
    new_instance = self.__class__
    assert (len(irs) == len(self.fields))
    return new_instance([(n, ir) for ((n, _), ir) in zip(self.fields, irs)])