title: Extending existing properties on @types declarations
body: <p>I am trying to extend the <strong>Request</strong> object of <strong>express</strong> that is available on <strong>express.Request</strong> so that it includes some other data inside the session. I have tried creating my own typings file (<strong>d.ts</strong>) and using the following code: </p>
  
  <pre><code>import * as express from 'express';
  
  declare module 'express' {
      export interface Request {
          session: express.Request['session'] &amp; {
              myOwnData: string;
          }
      }
  }
  </code></pre>
  
  <p>I am greeted with the following <strong>error</strong>: </p>
  
  <pre><code>'session' is referenced directly or indirectly in its own type annotation.
  </code></pre>
  
  <p>What is the correct way to implement this?</p>