Funny story, at my day job we just did an integration with this service that is essentially a state machine over a network. We call an API to create a thing, but any substantive changes to the thing cause the creation of a new instance with a new ID.
It drove my team nuts for a bit because the IDs we were using to reference objects over the network weren't behavior quite like we expected.