はじめに Discriminated Union は、複数の型を合併するユニオンの一種です。 しかし単なるユニオンではなく、「複数の型のうち現在どの型であるかが判別可能なユニオン」 を指します。 参考: 判別共用体 - F# | Microsoft Learn, 判別可能なユニオン型 (discriminated union) | サバイバル TypeScript 例えば User = メンバー or ゲスト だとして、 User が メンバー のとき: メンバーの名前 を表示したい User が ゲスト のとき: "ゲスト" と表示したい のように「今どの型か」に応じて処理を分けたい場合があると思います。 こうしたケースにおいて、入口では User という一つの型として扱いながら、実処理としては メンバー 型、 ゲスト 型のどちらかであるかを判別し、それぞれの型として扱うことができるのが

