static bool learnedFlexMatch(S pattern, S s) { ret learnedFlexMatch(pattern, s, null); } static bool learnedFlexMatch(S pattern, S s, Matches m) { if (!flexMatchIC(dropPunctuationAtEnd(pattern), dropPunctuationAtEnd(s), m)) false; MatchLearner l = uniq(MatchLearner, +pattern); S status = l.examples.get(s); if (eq(status, 'rejected)) false; if (empty(status)) l.examples.put(s, 'assumed); true; }