> I think we hook in at the tp_getattr(o) level. Module objects can > detect rebindings there and do whatever bookkeeping is necessary to > keep references to its name consistent. I think this is the right > approach for either technique we're discussing. Would that catch changes like math.__dict__['sin'] = math.cos ?? Regards, Martin