Creating a discriminated union based on the first element of a non-empty array in TypeScript can ... - Effect Community