(@ cmp a b +-                                                        cmp = a b ->
    ([> b] a)                                                          if (a > b) -> 1, 0
)                                                                    ;
(@ cmp a b order-by:SORT_DESC +-
    (![> b] a)                                                       cmp = a b order-by:SORT_DESC ->
)                                                                      if (a > b) -> 0, 1
(@ cmp a b +-                                                        ;
    ([= CR_GT] rc - (# collate a b .rc))
)                                                                    cmp = a b ->
(@ cmp a b order-by:SORT_DESC +-                                       rc = collate a b; if (rc = CR_GT) -> 1, 0
    (![= CR_GT] rc - (# collate a b .rc))                            ;
)
                                                                     cmp = a b order-by:SORT_DESC ->
                                                                       rc = collate a b; if (rc = CR_GT) -> 0, 1
                                                                     ;
