Sure, it is optional, but I've seen the unnecessary complexity seep into codebases over time, even though the software was originally elegant and simple.
I'm not sure if such perversions exist, it's been a while already since I touched TypeScript. To me the whole system seems perverted in the sense that an inexperienced developer can easily make things unnecessarily complex.