```ts arrify(Boolean() ? [1, 2] : 3); ``` The above returns the type `(number | number[])[]`. This doesn't match the runtime value of `number[]`