let get_creation_choice_point (context_partners: context_partners) : choice_point =
let youngest_choice_point =
Array.fold_left
(fun acc context_partner ->
match acc with
| Some best_choice_point when
State.compare_age best_choice_point context_partner.cp_element.Context.el_choice_point >= 0 ->
acc
| _ ->
Some context_partner.cp_element.Context.el_choice_point
)
None
context_partners
in
match youngest_choice_point with
| None ->
failwith "Context_unifier.get_creation_choice_point"
| Some choice_point ->
choice_point