static L gazelle_reasonWithPreprocessing(S input1, O... _) { F0 contextMaker = cast assertNotNull("Need contextMaker", optPar contextMaker(_)); S userName = stringPar userName(_); bool debug = boolPar debug(_); bool debugPreprocessing = boolPar debugPreprocessing(_); Collection interpretables = gazelle_preprocess(input1, _); if (debugPreprocessing) { print("Got " + n_entries(interpretables) + " interpretables."); printIndentLines(interpretables); } new L l2; Set outputs = ciSet(); for (GInterpretable intp : interpretables) for (GazelleTree tree : dm_gazelle_reasonAboutChatInput_v2(userName, intp.text, paramsPlus(_, acceptablePurposes := litset("")))) if (outputs.add(tree.line)) l2.add(tree); ret l2; }