### What version of Effect is running? 3.16.12 ### What steps can reproduce the bug? ```ts import { Array, pipe } from 'effect'; const array: Array<number> = [1, 2, 3]; pipe( array, Array.match({ onEmpty: () => 1, onNonEmpty: (xs) => { // ❌ `xs` has type `readonly [number, ...number[]] // Expected `[number, ...number[]]` return 1; }, }), ); ``` ### What is the expected behavior? See above. ### What do you see instead? See above. ### Additional information I tried to fix it but ran into an issue that I'm not sure how to fix: https://github.com/Effect-TS/effect/pull/5496