so many times I write a generic type in typescript to do something cool, only to discover the TS engine falls over when trying to resolve it
case in point
oh wait. I've just done it wrong lol. that should be `Union & ...` not `Union[K] & ...`

yeah this does actually work now lmao

scratch everything I said