Interesting. Too bad this didn't got anywhere. At least, sometimes I miss static typing in Python. Tools like dictshield work fine, but when I'm validating a structure, I have a feeling that I'm using a wrong language (but don't get me wrong, I love Python!)
Type classes (like those in Haskell) should've been able to solve the problems Guido mentioned. I.e. something like `def min(Ord T => a: T, b: T) -> T` and `def min(Ord T => a: [T]) -> T`.