Why English
Because the code was never the thing anyone was arguing about.
Most backend work is not typing. It is deciding what the system should do, agreeing on it, and then keeping the code and the agreement in step. The second part is where the effort goes and where it usually fails: the code drifts, the document rots, and the only remaining answer to “what does this actually do” is to read the implementation.
Typestate inverts that. The English definition is the artifact. It compiles, so it cannot drift from what runs. It is versioned, so you can see what changed and when. It is readable by the person who asked for the feature, so approving a release does not require reading code.
What this buys
The definition can always be recompiled. A better compiler produces better code from the same words, with no migration on your side.
Changes are reviewable by whoever owns the decision. A diff is a diff in English, not a patch.
The platform owns the parts that are the same everywhere. Storage, migrations, auth, sessions, access policies, rate limits, scheduling, releases. A flow contains business logic and nothing else, which is what keeps its description short enough to stay accurate.
What it does not do
It is not a replacement for engineering judgment. Somebody still has to decide what the system should do, and say it precisely. Typestate makes that the whole job rather than the first ten percent of it.