Chaining non-transitive comparisons is confusing. Is returning False when `dif.is_negative` is None and `dif.is_nonnegative` is False intended?