static ItIt allSubstringsWithoutEmpty(S s) { ret nestedIterator(countIterator_inclusive(1, l(s)), length -> mapI(countIterator_inclusive(0, length == 0 ? 1 : l(s)-length), start -> substring(s, start, start+length))); }