The rdoc for the Comparable module and its methods consistently indicate that the <=> method must return values -1, 0, or +1. But the implementation consistently tests for values < 0, == 0 and > 0. See compar.c in the source tree. I believe that this is a documentation bug, and I will submit a patch if folks here agree with me. Shouldn't we be allowed to write our <=> operators so that they return any Numeric value? David Flanagan