&gt; I would&#x27;ve never said &quot;just&quot;. Formal logic is big f...reaking deal.<p>&quot;Just&quot; was in no way meant to diminish significance; it was meant to draw attention to your improper limiting of scope.  Someone &quot;fighting the compiler&quot; is not fighting &quot;executable embodiments of formal logic&quot;, but &quot;executable embodiments of formal logic and a pile of engineering decisions&quot;.  Often, enough of those decisions are made well that the tool can be phenomenally useful; some are made less well, and some simply involve tradeoffs.  It doesn&#x27;t have the... inevitability that your wording carried.  Programmers coming from a context where enough of those decisions have been made differently are likely to get tripped up for a while in the transition, without harboring any objections to logic.<p>&gt; I never said anything about being &quot;smart&quot; or &quot;careful&quot;.  I only said that hacker types, for whom the ability to subvert anything anytime is a fundamental tenet, tend to have a hard time sticking to the rules of a formal game, whether it is a type system or not.<p>True, but you left it up to us to figure out what attributes of &quot;hacker types&quot; were relevant.  As there are many different uses of the word &quot;hacker&quot;, it was quite unclear that you meant to refer specifically to inability to stick to rules.<p>While people of that description may well persist in &quot;fighting the compiler&quot; for longer, that is not most of what I&#x27;ve observed when I&#x27;ve observed people struggling with a type system, and I reiterate my assertion that those new to a particular tool and used to doing things another way also frequently struggle for a period.