pull destroy_range and uninitialized_copy up to the