sS ai_ruleOfThree_solver_2(S db, S input) { new TransformersOnObjects too; too.addAll(lambdaMap(s -> Input(s), tlft(db))); too.add(Input(input)); too.addTransformer(func(Input i) { new Matches m; if (flexMatchIC("if *, *", i, m)) { S lhs = $1, rhs = $2; too.addTransformer(func(Input i2) { if (match(lhs, i2)) too.add(new TransformedInput(rhs)); }); } null; }); ret getVar(too_thinkAndReturnFirstObjectOfType TransformedInput(too)); }