Base.lt
is a total order, but <
is not since all comparisons with NaN values return false
according to the IEEE floating-point standard:
julia> Base.lt(Base.Forward, NaN, 1.0)
false
julia> Base.lt(Base.Forward, 1.0, NaN)
true
julia> NaN < 1.0
false
julia> 1.0 < NaN
false