Is it possible to annotate Arrays with custom properties?
<p>I'm trying to add type annotations to an existing code and I have an Array instance that doubles as an object with custom properties set on it. Like So:</p>

<pre><code>const foo = [];
foo[0] = 13;
foo.push(42);

foo.superLevel = 'extreme'; // Flow complains about this
</code></pre>

<p>I thought I might declare a new type called <code>SuperArray</code>, something along the lines of this:</p>

<pre><code>type SuperArray = Array&lt;number&gt; &amp; {
  superLevel: string,
}
const foo: SuperArray = [];
// ...
</code></pre>

<p>(<a href="https://flowtype.org/try/#0C4TwDgpgBAygrpATgQUYghiKBeKqMgA8AdnALYBGEiAfFAGRQDeAUFFAM4LUAyEAbhAA2ALk7BEAS2IBzADQsAvixYBjAPbEOwKADN16sfCT5MOKAG0AugG4W+9RYAMV8wEYAzHYcA6MHA4ACwAKABYAJgBKO3sDHy4kPkEhcwByCAAPCQgyCFS7IA" rel="nofollow noreferrer">View on flowtype.org/try</a>)</p>

<p>But that doesn't work either. I've Goggled and browsed through the docs, and failed to find an answer as to </p>

<p>A) is this at all supported? <br> 
B) if so, how to annotate it.</p>