Guido van Rossum wrote: > IOW: >> # module foo > def open(): return ... >> is fine, but >> import foo > foo.open = 42 >> is not. How about this: # module foo def open(): ... # module bar import foo foo.open = 42 ? (I would assume it to be ok, since the builtin name was already shadowed.) Just