let get_parent n =
    match (Tree.get_parent_edge n) with
        Some(e) ->
          (Tree.get_source e)
      | None ->
          invalid_arg "get_parent: input node has no parent edge"