Guido van Rossum: Adding Optional Static Typing to Python (2004)
artima.com
artima.com
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`.