{recurse} is where the children of the current row go. It renders the body of
the enclosing {tree} - the content as written between
{tree} and {/tree} - again, once for every child, each child a row of
its own with its own fields. Inside that body {recurse} works again one level
down, so the tree is rendered to any depth. A row without children renders nothing here.
The new list is a level named as the tree is: depth@tree is one more than the
level above, and first@tree, current@tree and count@tree
speak of the children being rendered. The tree's sort, where and
reverse options are carried along, so children are ordered and filtered as their
parents were.
Usually it stands inside {branch}, so the list markup around it
only appears for a row that has children. The tag takes no parameters; under the strict syntax
check a {recurse} outside a tree is an error.