!7 sS data = [[ User: Today I bought a {Big Mac} for 1 € Bot: Wow... that's cheap! Usually they cost like... how much? User: 5 € Bot: Yes, yes. So that's 80% off! ---- Test User: Today I bought a car for 50 € Bot: Wow... that's cheap! Usually they cost like... how much? User: 5000 € Bot: Yes, yes. So that's 99% off! ]]; p-exp { SS sections = minusSignSections(data); F1 tokenize = f javaTokWithBrackets; LPair pairs = assertNotNull(zipTwoLists_strict( tlft(sections.get("")), tlft(sections.get("Test")))); pnl(pairs); SS map = ciMap(); for (PairS p : pairs) { LS tokA = callF(tokenize, p.a), tokB = callF(tokenize, p.b); if (l(tokA) != l(tokB)) continue with print("Mismatched token count, skipping: " + p); SS map2 = gazelle_zipTwoTokenizationsToMap(tokA, tokB); printIndent(map2); if (!canPutAllStrictlyIC(map, map2)) warn("failure to merge maps"); } print(map); }