title: Typescript: extending an interface and redeclaring the existing fields as readonly
body: <p>Let's say we have an interface like this:</p>
  
  <pre><code>interface Person {
    name: string;
    age: number;
  }
  </code></pre>
  
  <p>I want to call Readonly and create a readonly version of the interface, e.g.</p>
  
  <pre><code>interface PersonReadonly extends Readonly&lt;Person&gt; {}
  </code></pre>
  
  <p>which will be equivalent to writing</p>
  
  <pre><code>interface PersonReadonly {
    readonly name: string;
    readonly age: number;
  }
  </code></pre>
  
  <p>Can we write such a Readonly generic interface, or is it written already?</p>