Inherit ES6/TS class from non-class : <p>Given the class is extended from non-class (including, but not limited to, function),</p>

<pre><code>function Fn() {} 

class Class extends Fn {
    constructor() {
        super();
    }
}
</code></pre>

<p>what are the the consequences? What do the specs say on that?</p>

<p>It looks like the current implementations of Babel, Google V8 and Mozilla Spidermonkey are ok with that, and TypeScript throws</p>

<blockquote>
  <p>Type '() => void' is not a constructor function type</p>
</blockquote>

<p>If this is a valid ES2015 code, what's the proper way to handle it in TypeScript?</p>
