(@ reverse:rc list .reversed +-                                      reverse -rc = list + reversed ->
    ([list] >                                                          if list ->
        (detach list head tail)                                          detach list head tail
        ([tail] >
            (attach reversed (# reverse tail) head)                      if tail ->
        >                                                                  attach reversed (reverse tail) head
            (attach reversed head)                                       else
        )                                                                  attach reversed head
    )                                                                    ;
+                                                                      ;
    {list : <T>} list                                                _
    {list : T : [list]} reversed                                       list : list : <T>
)                                                                      reversed : list : T : [list]
                                                                     ;














