A distributive conditional type splits a union by instantiating the type once per member with the naked type parameter. What does the compiler produce for the type below, and why?
type Distribute<T> = T extends any ? T[] : never;
type A = Distribute<never>;