Spotted in Lambda the Ultimate - Programming Languages Weblog - wrote: Re: Static Typing Where Possible, Dynamic Typing When Needed. Well no one is going to lay down their arms when you put it like that are they. No, writing static typing is an optimisation and you should always do optimisations last. You don't know if you need to optimise any code until you hit the profiler - so, static typing when needed.
I've only needed static typing in a couple of areas of my code before - and that was the rendering core of a 3d application. I pushed it out to a C library. The second time I did 3d stuff I was a better Smalltalker, so I managed to write it so that I didn't need static typeing or to push it out to a C library.
So, dynamic type stuff until you suddenly find a need to static type things. Whether that be to solidify an API for an external party or to optimise some piece of code. But never before then.