pub open spec fn strict_total_ordering<T>(r: FnSpec<(T, T), bool>) -> bool
{ &&& irreflexive(r) &&& antisymmetric(r) &&& transitive(r) &&& connected(r) }