/* List reverse */

reverse -rc (vb -w dest, vb src)
{
  vb tail = alloc (&_, T_SLICE);

  attach (dest, &head),
  {
    reverse (dest, tail),
    {
      detach (head, tail, src),
      {
        vb head = alloc (&_, T_LINK)
      }
    }
  };
}
/
{
  free (&tail);
}

reverse -rc (vb -w ., vb src)
         if (length == 0, { length = _ (src) })
{
  ;
}

