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