This is not a deepcopy. The resulting object will have references to the same name and value objects contained within self. I appreciate that name and value will almost alway be immutable so it won't matter, but I have concerns about defining a __deepcopy__ method that doesn't actually do a deepcopy.