title: lint issue - typescript - non arrow functions are forbidden
body: <p>Following is some code and we are facing lint issues:-</p>
  <pre><code>export function TakeUntilDestroy(destroyMethodName = 'ngOnDestroy') {
      return function &lt;T extends { new(...args: any[]): {} }&gt;(constructor: T) {
        // some code
        }
  }
  </code></pre>
  <p>I am getting two lint issues on 2nd line of the code. First one is &quot;non-arrow functions are forbidden&quot;. We don't want to remove the lint rule to get rid of this error.</p>
  <p>2nd lint issue is &quot;Type literal has only a call signature - use 'new(...args: any[]) =&gt; {}' instead.</p>
  <p>I am not able to resolve the issues. I tried few things but could not resolve the same. These issues are new to me.</p>