Having done a reasonable amount of messaging code in my time, I would say the final form of this sort of thing might look more like Cadence[0] than anything like this.
A primary difference is that those are external systems, where you define the flows inside that system - the system then "calling out" to get pieces of the flow done.
Mats is an "internal" system: You code your flows inside the service. It is meant to directly replace synchronously calling out to REST services, instead enabling async messaging but with the added bonus of being as simple as using REST services.
But yes, I see the point.
https://temporal.io/blog/building-reliable-distributed-syste...