Done badly, they introduce a lot of unnecessary text
java
MyObject myObject = new MyObject();
Type inference goes a long way toward addressing this.
Are any of the patterns in Gang of Four work-arounds for static types?
Particularly when writing Haskell code, my testing instincts are way off. I don't really do TDD with it, and by the time I've got the code to compile, I feel confident that it works.
How much unit testing does a type system let you avoid?