Quick question: Even if an object is of an unknown wacky type (say Zope's extension class), shouldn't jelly (and friends) check for callable(getattr(obj, '__getstate__, None)) anyway (i.e. treat it like an InstanceType and see what happens)? It looks like this is what pickle does. -Andrew.