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)