1) Put JS in maintenance mode, don’t add any language features, only runtime 2) TS becomes the official mainline, whoever doesn’t like types can just keep writing as they did before, because valid JS is valid TS Problem solved, it’s not that difficult.
Non-exhaustive examples:
let foo = 2
foo = "foo" // TS disallows type change
let bar = {}
bar.baz = 2 // TS disallows adding property