title: Angular 2 directive name conflict -- why did this not break?
body: <p>I was looking into some code I had already written and got working, and I noticed this:</p>
  
  <pre><code>@Component({
    selector: 'app-doc-edit',
    templateUrl: './doc-edit.component.html',
    styleUrls: ['./doc-edit.component.css']
  })
  export class DocEditComponent implements OnInit {
     ...
    @Input() id: number;
  </code></pre>
  
  <p>the component was invoked like this:</p>
  
  <pre><code>  &lt;app-doc-edit [id]="path.path.id"&gt;
    &lt;/app-doc-edit&gt;
  </code></pre>
  
  <p>Why does the <strong>id</strong> input to the component not cause problems?  My understanding is that user defined Angular 2 directives occupied the same name space as the standard HTML definitions but this action worked fine.</p>
  
  <p>Of course I am going to fix this (WebStorm refactor/rename to the rescue) but now I think my understanding of Angular 2 works is faulty.  Can anyone explain?</p>