static T3 ai_tripelize_howLongEtc(S s, L tok) { printStruct(tok); if (eqicGet(tok, 1, "how")) { // e.g. how long is the string "bla"? int verb = indexOfFirstVerb(tok); S v = tok.get(verb); if (eqic(v, "does")) { // e.g. How many characters does the string "abcd" contain? int verb2 = indexOfFirstVerb(tok, verb+2); if (verb2 >= 0) { S a = v; // helper verb v = get(tok, verb2); print("verb: " + v); S middle = trimJoinSubList(tok, verb+2, verb2); S rest = trimJoinSubList(tok, verb2+1); v = ai_tripelize_helperVerb(a, v); ret t3( middle, dropSuffix("?", v), trim(trimJoinSubList(tok, 0, verb) + " " + rest) + "?"); } } ret t3( trimJoinSubList(tok, verb+1), v, trimJoinSubList(tok, 0, verb) + "?"); } null; }