Weak and strong typing are a matter of degree -- there's no definitive test for "weak" vs "strong" typing, only degrees of weakness. The
Indeed, there certainly different places where language can enforce types. One of them is operators, but I want to point out other places as well. Some languages require explicit type in collections. I believe Pascal and to some extent C#, while certainly not current Python, fall it the category of languages which require containers to declare explicit type of elements. This case is especially relevant to Python, since BFDL considered adding parametrized types (http://www.artima.com/weblogs/viewpost.jsp?thread=86641) though later dropped this idea (http://www.artima.com/weblogs/viewpost.jsp?thread=86641); others, e.g. the original poster, often suggest something similar. I personally continue to be on the side of "strong testing" rather than "strong typing" -- Bruce Eckel said it better than I could do at http://mindview.net/WebLog/log-0025. ilya n.