Creating a Safe Discriminated Union in TypeScript Without Failing on Unimplemented Types - Effect Community