Matching on Union Types in TypeScript Without Explicit Tags - Effect Community