If we get lexical scoping, there should be a fast (built-in) way to get at all the accessible names from Python. I.e. currently I can do d = globals().copy() d.update(locals()) and know that `d' contains a dictionary of available names, with the right overloading semantics. (PEP 42 now includes a feature request to make vars() do this by default.) -Barry