++- Selene                                                 ** Veronica

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



