sig
  type literal = Term.literal
  type choice_point = State.choice_point
  type raw_context_unifier = Context_unifier.raw_context_unifier
  type selected = {
    candidate_type : State.literal_type;
    literal : Selection_types.literal;
    raw_context_unifier : Selection_types.raw_context_unifier;
  }
end