> New and much more flexible static type systems are possible, like the SPARK > and ATS ones, but they require a kind of programming that asks lot of brain > from the programmer, so they are mostly for special purposes only.
Sorry, unfinished post. I was saying: Languages like Spec#, Haskell and others try to be in the middle, and be almost usable for general purpose programs despite having a very flexible and powerful static type system. Bye, bearophile