A two-sentence draft — warm, confident, and loaded. The linter walks the banned groups in dict order and prints each group that has at least one substring hit, listing the hits in list order. What prints?
Watch the near-misses: "we will refund you in full" is not the same string as "full refund", and matching runs on the lowercased draft.