You can't write class doIt(value=something-mutable): and get the behaviour you want. Instead, the idiom is class doIt(value=None): and then test for None. If you use == instead of is in your test then it will fail when it is absolutely fine for what you get passed to redefine __cmp__ or __eq__. And won't you look silly. Laura Creighton