title: Why do people declare both an interface and a class?
body: <p>At my workplace, I see a lot of files that look like this:</p>
  <pre><code>export interface IExample {
    a: number
  }
  
  export class Example implements IExample {
    a: number = 2
  }
  </code></pre>
  <p>Why would one do this? Are there any advantages to it?</p>
  <p>For me, it's just duplication, most of the classes declared this way are out-of-sync with their interfaces.</p>