var lf = tree as Leaf; return Tuple.Create(label + 1, leaf(labeled(label, lf.Value)));