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