Session types work. Most languages just refused to implement them.
Session types encode communication protocols in the type system, turning runtime protocol errors into compile-time failures.
Session types were invented in 1993. Thirty years later, most networked services still validate protocol state with hand-written runtime checks, if they…