Change entity bundle on update? Is it safe to change the entity bundle (e.g. node type or commerce product type) when updating an entity with Migrate API?

Specific use case:

The site already contains plenty of commerce_product entities with $product-&gt;type === 'product', that were imported with something other than Migrate API.

I now want to re-import these entities with Migrate API, updating the existing entities.
Custom MigrateMap to sync by field or property, e.g. SKU

The product type should be changed to something else by the update, let's say $product-&gt;type === 'othertype'.

Some of the fields are the same in both bundles. Other fields only exist in one of the bundles. Data from obsolete fields should be discarded / deleted. This includes images from an image field.



So, I wonder if all of this will happen painlessly, or if I need to do something special to make it work.

I will try this anyway and see what happens, but I think it is useful to have this documented here on stackexchange.
That seems dangerous to me - a node's bundle is fundamental to its identity, and has repercussions well beyond the node's data itself. You're on Drupal 7, presumably? Simple way to test would be a script like:

$node = node_load(5);
$node-&gt;type = 'other_type';
node_save($node);


If it breaks there, it'll break with migration too. And if it works there, it should work with migration.