title: What is the difference between Document and document in JavaScript?
body: <p>I am currently building an API for JavaScript, predominantly using Visual Studio 2010 and JetBrains WebStorm (brilliant if you're looking for a bulletproof JavaScript IDE).</p>
  
  <p>Whilst looking through the intellisense list in Visual Studio (trying to familiarize myself with the JavaScript API), I noticed that both <code>Document</code> and <code>document</code> exist.</p>
  
  <ol>
  <li>What is the difference between <code>Document</code> and <code>document</code>?</li>
  <li>What is <code>document</code> an instance of (if any) ?</li>
  <li>How does one use <code>Document</code> (as it is not a function, therefore, not constructable)?</li>
  <li>Most importantly, What is the harm in "monkey-patching" <code>Document</code> to make it constructable?</li>
  </ol>
  
  <p>The rationale behind these questions is that I want to create some objects that fit into my API (for example; <code>Document</code>, <code>HTMLElement</code> etc.), but as these appear to already exist in some respect, I'm not confident that I should be overwriting their native implementation.</p>