@typecheck_method(old=IR)
def copy(self, old):
    new_instance = self.__class__
    return new_instance(old, self.fields)
@typecheck_method(old=IR)
def copy(self, old):
    new_instance = self.__class__
    return new_instance(old, self.fields)