I think the three others have a special regime because pointers to them must be saved for the sake of associative arrays. toString is used only generically,Andrei
Adding a special case for AAs is not a good idea but these operators are indeed special and should have a defined behavior. Requiring pureness for comparison for example is good for all kind of generic algorithms.