On the other hand, generally good programming practice suggests you to write functions that have a constant return type. And in most programs most functions are like this. This is why ShedSkin can indeed infer the return type of functions in "good behaved" programs. To do this ShedSkin uses a quite refined (and slow if written in Python) type inference algorithm.
Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list