&gt; Anyway, therefore it follows that if we calcify and ossify data structures and types, we kill the progress, not to mention fun.<p>I don&#x27;t think it&#x27;s fun to ship bugs to customers.<p>I think it&#x27;s much more fun to have a pervasive, mandatory proof engine that shows that I don&#x27;t create these bugs in my software. (since it&#x27;s mandatory, I can also help my teammates use my code correctly even though they don&#x27;t understand how it works!)<p>I make better progress when I&#x27;m not creating preventable bugs.  My customers have more fun too.<p>&gt; This is blown out of reasonable proportion by static type advocates. In a dynamic system, type is de facto a few bits of value in an object. So the above situation is just another value that is wrong.<p>It&#x27;s wrong in a way that&#x27;s totally preventable ahead of time.  I&#x27;d rather take the proof engine and never suffer this class of bug.  It certainly doesn&#x27;t catch every bug, but I&#x27;ll take what I can get.