svoid testParse(S s) { print("** \* s */ **"); print(); new L l; parse(s, listCollector(l)); for i over l: print((i+1) + ". " + structureConcept(l.get(i))); for (Concept c : iterateOptions(l)) { if (properSentence(c)) { print("First proper sentence: " + structureConcept(c)); break; } } print(); } static Concept parseToOptions(S s) { new L l; parse(s, listCollector(l)); ret options(l); } static Iterable iterateOptions(L l) { ret mapI(l, func(Concept c) { firstOfFirst(c) }); }