let single_child_edge n = (match Tree.get_parent_edge (single_child n) with None -> failwith "No edge for single_child_edge" | Some ed -> Tree.get_edge_label ed)