static ItIt wordRangesIterator(S s, O... _) { ret wordRangesIterator(javaTokNPunctuationWithBrackets(s), _); } static ItIt wordRangesIterator(LS tok, O... _) { boolPar plusFull; int n = countTokens(tok); ret nestedIterator( countIterator_exclusive(0, n), from -> mapI( countIterator_inclusive(from+1, from == 0 && !plusFull ? n-1 : n), to -> wordRange(tok, from, to))); }