What does `Distribute<never>` resolve to, and why does it differ from instantiating with a non-empty union?type Distribute<T> = T extends string ? "y" : "n"; type X = Distribute<never>;