この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。

BFE.devでのAI解答例 - TypeScript タイプパズル
3. Readonly<T> を実装する

type MyReadonly<T> = {  readonly [P in keyof T]: T[P]}

MyReadonlyは、Tの全てのプロパティにreadonly修飾子を付けた新しい型を作成します。[P in keyof T]は、Tのプロパティに対応するプロパティを繰り返し処理します。readonly修飾子は、プロパティが読み取り専用であることを示します。元の型情報はそのまま保持されており、プロパティの型、オプション等はそのままコピーされます。