Comment by epolanski
The version I was thinking when I wrote the comment is simpler
type Flatten<T> = T extends Array<infer U> ? Flatten<U> : T
> The average Typescript dev likely doesn't need to understand recursive conditional types.The average X dev in Y language doesn't need to understand Z is a poor argument in the context of writing better software.
> The average X dev in Y language doesn't need to understand Z is a poor argument in the context of writing better software.
It's a good response to the claim that we'd be surprised at how many would fail to do this, though.