TypeScript: it’s regularly absurd or weird, and I am frustrated regularly by so many things about the type system… but nearly all of them come down in practice to this works this way because JavaScript and JavaScript developers.”