In addition to what the others said, I&#x27;d much rather prefer good static typing (i.e. Haskell).<p>Especially in the prototyping phase, I do a lot of iterating and refactoring - and I mean A LOT, because I&#x27;ve found that this is the best way for a good design to fall out. Sometimes like 20-30% of the code get refactored, replacing core data structures and control flow.<p>If I ever had to rely on unit tests for this, I&#x27;d shoot myself, mainly because it would make me 1&#x2F;2 times slower (because I&#x27;d have to reimplement all unit tests every time) and this would really break my flow.<p>Also, relying on unit tests for refactoring means that having anything short of 100% code coverage (i.e. 70-80% isn&#x27;t enough) defeats the purpose of the whole thing anyway - and I&#x27;ve yet to see 100% test coverage in a real-world project. I realize this isn&#x27;t an argument in the context of your reply (it was either test coverage or static types), but still, something to consider.