/// Each `RuleSet` can also have a number that tells it what order it should run in compared to other `RuleSet` instances.
/// Additionally, a `RuleSet` can depend on other `RuleSet` instances, meaning it needs them to run first.
/// To make things efficient, `RuleSet` only figures out its rules and dependencies the first time they're needed,
/// Order of the RuleSet. Used to establish a consistent order of operations when resolving rules.
/// If two RuleSets overlap (contain the same rule but with different priorities), the RuleSet with the higher order will be used as the source of truth.
/// Returns a `&HashMap<&Rule, u16>` where the key is the rule and the value is the priority of the rule.
let _ = self.dependencies.set(dependencies); // Try to set the dependencies, but ignore if it fails.