&gt; If you’re writing software for Boeing or for an iron lung, you may want to consider writing proofs.<p>If you&#x27;re writing software for Boeing for an iron lung, you may already be using one of a few fully verifiable languages (like SCADE, Esterel) that don&#x27;t even require proofs -- just a specification -- and have been in common use in safety-critical systems since the eighties. Dependent types are interesting, but they&#x27;re not widely used simply because there are much more efficient ways of proving safety-critical systems 100% correct.<p>&gt; using a modern type system will give you the most information and guarantees for the least amount of effort<p>I can agree with that one, but I don&#x27;t agree with the implication that <i>Haskell&#x27;s</i> type system (or ML&#x27;s) is the right one for this purpose of giving the most information for the least effort.