Rules need to be evaluated in topological sort order in order to respect data dependencies between them.