/* List reverse */                                    /* List reverse, canonical version             */

ListSort : rc ->                                      /* Reverse : rc ->                             */
Arg Dest : &A|L : T,                                  /* Arg Dest : &List : T, Src : A|L : <T>       */
    Src : A|L : <T>,                                  /*                                             */
    . : REVERSE_SORT                                  /* If Src then                                 */
                                                      /*  Dest .= Head                               */
If Src then                                           /*  After Reverse >Dest< Tail                  */
 Dest .= Head                                         /*  With Head, Tail from Detach Src Head Tail  */
 After ListSort >Dest< Tail REVERSE_SORT              /* ;                                           */
 With Head, Tail from Detach Src Head Tail            /*                                             */
;                                                     /* Return                                      */

Return                                                /* Export Reverse                              */

Export ListSort
