takeLatest ensures only the most recent task for a key runs.
Each new call aborts the previous one via AbortSignal —
so no matter how fast you type, only the result for the latest input arrives.
No debounce logic, no stale-result guards, no manual cancellation flags.