[Guido] > I have a tentative fix for this (use PyNumber_Check() in > default_3way_compare() and augment PyNumber_Check() to test whether > the type defines nb_int). Sounds good to me. It's interesting then that complex numbers will pass the PyNumber_Check test because they set nb_int to a routine that unconditionally raises an exception. Checking for nb_negative may be crisper?