svoid gazelle_dropMatchedDefaultRules(L l, O... _) { L l2 = filter(l, t -> !eqic(t.lineType, "temporary fact")); new Set trumpedRules; for (GazelleTree t : l2) addAll(trumpedRules, matchAll_first("trumps rule *", t.ruleComments())); L trumped = [GazelleTree t : l2 | contains(t.ruleComments(), "default") || trumpedRules.contains(t.ruleID())]; if (nempty(trumped) && l(trumped) < l(l2)) { if (boolPar debug(_) || boolPar debugDefaults(_)) { print("Removing default/trumped rules:"); printIndentLines(trumped); print("Because there are also:"); printIndentLines(listMinusSet(l2, trumped)); } l.removeAll(trumped); } }