reverse = src + dest ->
  - reverse src ( n -> attach dest n )
_
  src : A|L
  dest : A|L : [src]
;

reverse reverse -rc = list @fp ->                                              ++- Internal (hidden) function
  if list ->
    detach list head tail
    - reverse tail @fp [ tail ]
    - fp head
  ;
;