Watch this: >>> class neodict(dict): pass ... >>> d = neodict() >>> type(d) <class '__main__.neodict'> >>> type(d.copy()) <type 'dict'> Bug? Feature? Genius beyond the grasp of schlubs like me? ~kj