/// 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,
/// 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.