the underlying issue with all of these is that for distributed architectures, we have not created (or changed to) distributed patterns.
For example, the api pattern everyone uses is a 'single tier pattern' as it binds communication logic/data to business logic (at the controllers) thus creating an architectural cross cutting concern wherein we cant SHARE that data with services in our architecture that share the request/response.
So we have to DUPLICATE it with things like OpenAPI; now we have TWO instances of the state which are not synchronized; Imagine doing database replication to a slave DB using only a text document.
These are some of the underlying issues. People are building distributed architectures but not resolving issues with underlying patterns which do not transfer.