How about adding the context manager protocol to collections.ChainMap, as an in-place combination of new_child() and parents()? The effect would simulate lexical scope using the with-statement. Trivial to do customly but always nice when builtin or stdlib types support the context manager protocol. :)