title: Type with members from a string array
body: <p>Consider the following interface declaration:</p>
  
  <pre><code>interface Foo {
      bar(keys: string[], handler: (parameter: any) =&gt; void): void;
  }
  </code></pre>
  
  <p>How can I represent that <code>parameter</code> of the handler is an object with members whose keys are in the <code>keys</code> array?</p>
  
  <pre><code>var x: Foo;
  x.bar(['First', 'Second'], x =&gt; {
      console.log(x.First);
      console.log(x.Second);
  });
  </code></pre>