static ItIt parseExtendedCSV_iterator(ExtendedCSVParser parser default new, S csv) { parser.csv = csv; ret iff(new IF0() { new LS currentRecord; bool recordComplete; { parser.onValueFound = v -> currentRecord.add(v); parser.onEndOfRecord = () - set recordComplete; } public LS get() { while (!recordComplete) if (!parser.step()) null; recordComplete = null; LS record = currentRecord; currentRecord = new L; ret record; } }); }