I like type systems that work. Specifically, I like dynamic type systems. I like that you can look at any set of bits in a Smalltalk executable and know exactly WTF you are looking at (because of bit tagging).
I dislike shit like C++ which cheerfully tosses all type information into the bit bucket at compile time.
C does this too, but C is a useful tool that is hardware oriented (a sometimes necessary evil) but Smalltalk (and hopefully all application development languages) is a tool designed to be human oriented (as evidenced by an ongoing discussion about array indexing on the Squeak list where in the expression
1 to: 5 do: [:n | ...]
n will take on the values { 1, 2, ... 5} rather than the machine oriented C where to get that set you say
for(i=1; i < 6; ++i)
).
So I like type systems that are helpful. I dislike typing a lot of mumbo jumbo just so the compiler can throw it away.