Which tells us something about the <i>nature</i> of the bugs we will find in our programs.<p>The type-checker prevents certain classes of bugs, inconsistencies in types, lots of silly typos and mistakes. But it doesn&#x27;t fix errors in our logic or algorithms. The type-checker doesn&#x27;t know you should have added instead of multiplied, nor does it fix conversion errors at the borders of our programs where we, say, write a Haskell data structure into a JSON file.