@typecheck_method(value=IR, body=IR)
def copy(self, value, body):
    new_instance = self.__class__
    return new_instance(self.name, value, body)
@typecheck_method(value=IR, body=IR)
def copy(self, value, body):
    new_instance = self.__class__
    return new_instance(self.name, value, body)