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