sS combineToNLPattern_tryToIncludePunctuation(S a, S b) { S s = combineToNLPatternIncludingPunctuation(a, b); if (s != null) ret s; ret combineToNLPattern(a, b); } sS combineToNLPattern_tryToIncludePunctuation(Iterable l) { ret foldl_noSeed(func(S a, S b) -> S { combineToNLPattern_tryToIncludePunctuation(a, b) }, l); }