The reason that this is an issue at all, however, is because identically-named container objects to not acquire the contents of the containers they mask, if any. The "images" folder in the "log" folder masks the "images" folder at the root, thus *hiding* the contents of that folder rather than *acquiring* the contents of that folder. What would the implications be for Zope if acquisition meant that a failed method invocation resulted in further traversal of the namespace stack instead of immediate failure? Thus, if I try to reference "images['site-logo.jpg']", and the first "images" object found does not contain 'site-logo.jpg', would it be a good, bad, or ugly thing for Zope to *continue* the search for "images" objects containing a 'site-logo.jpg'?
It would probably be not so good. It's my belief that we're trying to move to more explicitness, and this magic is hard to document. That's not to say that you can't make a container like this and hook __getattr__ and keep going!