sS gazelle_replaceFirstInOfRuleText(S ruleText, S newIn) { PairS p = splitAtDoubleArrow_pair(ruleText); if (p == null) null; LS ins = tok_splitAtPlusAtBeginningOfLine(p.a); ins.set(0, newIn); ret gazelle_constructRuleText(ins, p.b); }