This is a different approach to infer_copy