TypeScript は便利だ。型検査で値が保証されるのはとても頼もしい。 とはいえ場合によっては型検査を通すために不必要にタイプ量が増えてしまうことがある。 例えば下記のような型が 外部ライブラリによって生成される としよう。 type User = { __typename: 'user'; id: string; name: string; gender: 'male' | 'female'; department: { __typename: 'department'; id: string; name: string; }; }; いま User 型の値を生成して使いたい。ただし、と…