I think it would be more pythonish if this would return a runtime (or even compiletime) error: def foo(): a=5 b=foo() It shouldn't just return None. That's a source of errors. This is obviously an incompatible change so I propose it for Python 2. Paul Prescod