Whilst looking at part one, a moment of insight came to me and I realized this code is completely nonsensical. For a start, when importing modules, you don't gain access to all parent packages of the given module. To add some confusion, even the comment was wrong. It doesn't even cater for the example given (it's d_lookup_symbol_module that walks up each block scope). I feel embarrassed it didn't come to me before. :-) Regards, Iain. ---