TypeScript Error Handling with Discriminated Unions - Effect Community