I think whatever tax you pay in writing typescript (which, as someone reasonably experienced with it, I believe is none or exceptionally minimal) you easily get back from improved efficiencies of not requiring memorizing the entire shape of your application, looking up in seperate documentation, or a run/inspect/write-code just to see what things are.
I think that typescript's type refinement is extremley useful to know whether you've covered all the cases for the types of data as it flows through your system.
I think that typescript's type refinement is extremley useful to know whether you've covered all the cases for the types of data as it flows through your system.