Meaning of `isless`, `<`, `cmp`, `isequal`, `==`, total order, partial order, unordered

For me, < also has an “algebraic” co-notation, because it is so frequently used for real numbers. Unfortunately the completion of ℝ with NaN is not a field any more. Arguments which use NaN are not mathematical. At the other hand Float64 is also not exactly a field, and the mathematical branch of numerics has been handling the difference. The discussion about the differences between < and isless should be separated for the areas of Real (which does not contain Complex nor arrays) and other types.

For Real floats, the pair if isless/isequal models an absolute order including the special values NaN and -0.0, which is not the case for </==.
The pair of </== are better suited for arithmetic operation, and they handle -0.0 and NaN differently.

For other types, it has been defined to use isless/isequal for total orders and == to fall back to isequal. The < has a priory no meaning for those types. For convenience it has been defined to fall back to isless.
For example for Set there is in general no useful total order, and isless is not defined. The natural order of sets is implemented by issubset.

My argument against giving a total order to Complex was because there no mathematically founded definition for such an order available (no mathematical theory about orders on complex numbers), and every order we define is as arbitrary and on purpose as the other.