Thanks to both Alex Martelli and Steve Holden.. We need __slots__ for other reasons, too long to explain, but basically to prevent assignment of extra attributes.
I ended up changing child classes this way: def __getstate__(self): return(Parent.__getstate__(self), self.C) def __setstate__(self, data): Parent.__setstate__(self, data[0]) self.C=data[1:] This seems to work fine. -- http://mail.python.org/mailman/listinfo/python-list