fn eval(
    ancestor: &mut IndexSlice<PreorderIndex, PreorderIndex>,
    lastlinked: Option<PreorderIndex>,
    semi: &IndexSlice<PreorderIndex, PreorderIndex>,
    label: &mut IndexSlice<PreorderIndex, PreorderIndex>,
    node: PreorderIndex,
) -> PreorderIndexExpand description
Evaluate the link-eval virtual forest, providing the currently minimum semi
value for the passed node (which may be itself).
This maintains that for every vertex v, label[v] is such that:
semi[eval(v)] = min { semi[label[u]] | root_in_forest(v) +> u *> v }where +> is a proper ancestor and *> is just an ancestor.