A better solution is to store additional information in the __dict__.
You loose nice features: access these (new) slots from Python by providing tp_members entries for them (for example).
I'm not sure I understand what you mean. Why would you need a tp_members entry for something that's in __dict__?
Are you planning to address this issue in the future?
David Abrahams (of Boost++ fame) is also interested in a solution for this problem, so I may have to. Not in 2.2.1, though -- this will have to be rearchitected so it's a 2.3 issue.
--Guido van Rossum (home page: http://www.python.org/%7Eguido/)