static Collection gazelle_executeSplitterRule(RuleEngine2 engine, RuleEngine2.SimplifyWithRule rule, S input) { O f = rule.function(); Collection out = cast(f instanceof S ? callF(engine.callFunctionOnString, (S) f, input) : callF(f, input)); ret out; }