>>21
Tests are one thing, but if you're testing for type correctness directly you've got problems, and tricky in most type systems that would call for it.
I'm not saying dynamic type systems don't have their place, I use them quite a bit in fact. Most of the time they're a product of something else: using a completely static type system in certain languages would conflict with the strengths of the language. But as for the type system itself there's rarely anything fantastic going on, except some clever mechanics for coping with the specific challenges presented by type semantics in that language.