Experiment: Unit testing isn't enough; You need static types, too 
I think most people would agree that these two circles overlap on a Venn diagram:    (    Bugs found by unit tests (     ) Bugs found by type-checking    )

The disagreement is how much. Also, type-checking is free[1], while unit tests have to be manually written.I'm glad someone spent a lot of time trying to answer this question, but I don't think it will affect my choice of language in any new project. I like to write code in the languages I like, and bugs be damned.1. A common argument is that static-typed languages slow development. I'm not touching that land-mine.