title: Confused about the Interface and Class coding guidelines for TypeScript
body: <p>I read through the <a href="https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines">TypeScript Coding guidelines</a></p>
  
  <p>And I found this statement rather puzzling:</p>
  
  <blockquote>
    <p>Do not use "I" as a prefix for interface names</p>
  </blockquote>
  
  <p>I mean something like this wouldn't make a lot of sense without the "I" prefix</p>
  
  <pre><code>class Engine implements IEngine
  </code></pre>
  
  <p>Am I missing something obvious?</p>
  
  <p>Another thing I didn't quite understand was this:</p>
  
  <blockquote>
    <p><strong>Classes</strong></p>
    
    <p>For consistency, do not use classes in the core compiler pipeline. Use
    function closures instead.</p>
  </blockquote>
  
  <p>Does that state that I shouldn't use classes at all?</p>
  
  <p>Hope someone can clear it up for me :)</p>