The other point I’d like to second, is types in OSS packages. When I started using Typescript, they were just missing, and you spent toil creating the types you needed, now the types could be there, but as you state, they are wrong and outdated quite often. Leading to things not being able to compile and having to fix. Now, it could be argued, we should be better OSS citizens and patch, but that would require the maintainers to actually approve the PR, plus being a good citizen has a time overhead too. BTW I am not advocating here that that time isn’t well invested, but it is a time/cost over JS.