title: Angular 4 template error: 'anonymous' does not contain such a member
body: <p><code>Angular 4</code> written in <code>Typescript 2.3.4</code></p>
  
  <p><strong>component.ts</strong></p>
  
  <pre><code>/**
   * Info that drives the tabs in the template. Array is filled
   * in ngOnInit() once data is received from the server
   */
  public tabs:Array&lt;{
    title:string,
    description:string,
    data:Array&lt;{name:string}&gt;
  }&gt;=[];
  </code></pre>
  
  <p><strong>component.html</strong></p>
  
  <pre><code>&lt;section *ngFor="let t of tabs"&gt;
    ...
    &lt;div *ngFor="let i of t.data"&gt;{{i.name}}&lt;/div&gt;
                                    ^^^^^^
  &lt;/section&gt;
  </code></pre>
  
  <p><strong>Compiler error</strong></p>
  
  <blockquote>
    <p>Angular: Identifier 'name' is not defined. <code>&lt;anonymous&gt;</code> does not contain such a member</p>
  </blockquote>
  
  <p>At first I thought this was linked to <a href="https://stackoverflow.com/questions/44915015/why-is-my-angular-template-throwing-this-typescript-error">my other issue</a> but this is different because there is no ambiguity in the shape of the <code>tabs</code> model: the component clearly shows that <code>name</code> is a property of each member of the <code>data</code> array, itself a property of each member of <code>tabs</code> array.</p>
  
  <p>What's going on here? </p>