>===== Original Message From "Conrad Schneiker" <schneik / us.ibm.com> =====
>FYI--This topic has come up a number of times in the past, and it usually
>seems that (most of) the strongest pro-dynamic arguments lean toward the
>"based on my (considerable) experience" varity, which nevertheless seem
>less than satisfying (in terms of understandying why) for many people. So
>I thought some people might find these remarks interesting.
[long discussion snipped]

My summary would be that a type system is a spec, and the type
checks are tests of the spec.  To get a sense of how much a
type system really buys you, compare how much of the spec
really matters versus how much of that spec is described in
the type system.  The difference is how much the type system
did not do that you wanted.

What is the worst of all worlds is a test you cannot trust.
Given that type systems don't actually catch the kinds of
errors that really matter, but people think the type system is
catching their errors, they lend themselves to a lazy way of
thinking.

Cheers,
Ben