fn find_permutations<'a>(
initial_start: BTreeSet<&'a str>,
remaining: usize,
permutations: &mut BTreeSet<BTreeSet<&'a str>>,
viable_features: &BTreeMap<&'a str, BTreeSet<&'a str>>,
skip_feature_sets: &BTreeSet<BTreeSet<&'a str>>,
)