[Michael Hudson, on UnboundLocalErrors]
> ...
> Wouldn't it be nice if these were flagged at compile time! More work
> for Jeremy <wink>.
As will (or already has <wink>) been pointed out, the compiler can only
guess, and can't always guess right (it could err on the side of bothering
you without cause, though). PyChecker goes a long way already. Java has a
mass of "definite assignment" rules instead, which in effect decree that you
must write code in such a way that the compiler can always guess right.