Is there any reason why the PersistentList.data_is class attribute is not used when instantiating the PersistentList.data instance attribute? To be specific, here are the first lines of the PersistentList definition: >>> class PersistentList (PersistentObject): ... """ ... Instance attributes: ... data : list ... """ ... __slots__ = ['data'] ... ... data_is = list ... ... def __init__(self, *args, **kwargs): ... self.data = list(*args, **kwargs) Shouldn't that last line be: ... self.data = self.data_is(*args, **kwargs) Other places where data_is should perhaps be used are __setslice__, __add__, __radd__ and __iadd__. The same question goes for PersistentDict.data_is and PersistentSet.s_is. I ask because I want to use PersistentList to wrap my own subclass of builtin list (Python 2.4+), and it would seem the best way to do it would be: >>> class MyPersistentList(PersistentList): ... data_is = MyList But at the moment that would not work. -- Andrew Bettison