> C# has a strong static type system, right? Well, it has dynamic features and is hardly strong compared to, say, Haskell.
Well, we can say that C# is a statically-typed language with reflection, some degree of support for dynamic typing and very limited degree of support for type inference (variable declaration only). I've chosen to omit detalising this in the question but I in fact meant typing discipline can be described with a number of fields/tags rather than one field. Needless to say this kind of description of a language can not be 100% perfect and deterministic so some degree of subjectivity and imprecision is implied as acceptable.
> Wikipedia has all the hard facts, though not in an easy-to-query format
Exactly.
For example I'd like to find out if there is a statically typed language with type inference that supports partial function application, type classes, pattern matching and allows you to include imperative code inside your functions (the only answer I know is Scala yet its type classes implementation is not an integral part of the language).