You might find the concept of Edit Lenses to be useful. A good writeup is: https://www.inkandswitch.com/cambria.html
A workflow is not just externally stored data with a well-defined schema. It is the computation's whole state, including threads blocked on API calls and local variables on the stack. So it is not possible to define translations between different versions the way Edit Lenses do.