fn resolve(states: HashMap<usize, State>, edges: Vec<(usize, Label, usize)>) -> (BTreeSet<State>, BTreeSet<Edge>) {
fn run_sequential<P>(lps: &P, strategy: ExplorationStrategy) -> (BTreeSet<State>, BTreeSet<Edge>)
#[cfg_attr(miri, ignore)] // rayon uses crossbeam-epoch which has Stacked Borrows violations under Miri
#[cfg_attr(miri, ignore)] // rayon uses crossbeam-epoch which has Stacked Borrows violations under Miri
#[cfg_attr(miri, ignore)] // rayon uses crossbeam-epoch which has Stacked Borrows violations under Miri