Change SourceRules to a std::set to enforce uniqueness and ordering.