varianter (npm): Simple variants/tagged unions/discriminated unions in TypeScript
Keywords: union|discriminated|tagged|type