use std::collections::BTreeSet;
#[derive(Debug, PartialEq, Eq, Clone)]
pub(crate) enum AbstractCausalRelation<Id> {
Equal,
StrictDescends {
chain: Vec<Id>,
},
StrictAscends,
DivergedSince {
meet: Vec<Id>,
subject: Vec<Id>,
other: Vec<Id>,
subject_chain: Vec<Id>,
other_chain: Vec<Id>,
},
Disjoint {
gca: Option<Vec<Id>>,
subject_root: Id,
other_root: Id,
},
BudgetExceeded { subject: BTreeSet<Id>, other: BTreeSet<Id> },
}