We need:

- exact object type

- match expression

flow is still better at:

- OO - nominal typing for classes, conforming to liskov substitution principles

- first class opaque types

- first class exact object types

- better flow based inference

- comment types - no extra dsl, full access to the language, so simple, so powerfull for the times you don't want transpilation phase

- [edit] spread types map to spread in runtime

Pattern matching is actually being discussed in tc39 for JS as a whole (where TS reps are some of the champions, ofc): https://github.com/tc39/proposal-pattern-matching

The specifics of the proposal will likely shift a bit since it's still stage 1 (2?).