* < 0 if the value of @c obj1 is less than the value of @c obj2
* == 0 if the value of @c obj1 is equal to the value of @c obj2
* > 0 if the value of @c obj1 is greater than the value of @c obj2
* < 0 if the value of @c obj1 is less than the value of @c obj2
* == 0 if the value of @c obj1 is equal to the value of @c obj2
* > 0 if the value of @c obj1 is greater than the value of @c obj2