static new Map applyAlwaysRules_handlers; // for handlers static new ThreadLocal applyAlwaysRules_ruleID; static void applyAlwaysRules_step() { for (LispStatement s : lispStatements_cloned()) { Lisp l = s.term; O handler = applyAlwaysRules_handlers.get(l.head); if (handler != null) { applyAlwaysRules_ruleID.set(s.globalID); try { callF(handler, /*lispSingleChildOrFull*/(l)); } finally { applyAlwaysRules_ruleID.set(null); } } } }