Indeed, and Florian got a plan where the same migration was migrated forwards and then backwards. The problem is that since this takes multiple targets, it's possible to ask for the latest version of app A and no migrations for app B (but you need the ability to ask for 'latest versions of all apps').

I might keep the return API as it is - as that makes sense - but build in additional checks so you can't have the same migration twice or other stupid plans.