My LLM autocomplete just suggested the TS native type Exclude<...>. Didn't know about that, and it seems to be exactly what I needed. Almost like your DistributiveOmit, except it doesn't enforce "K extends keyof T", so it doesn't work for objects, like in your example. But good enough for unions!