title: How to get a subset of `keyof T` whose value, T[K] are callable functions in Typescript
body: <p>I want to filter <code>keyof T</code> based on type of <code>T[keyof T]</code></p>
  
  <p>It should work like this:</p>
  
  <pre><code>type KeyOfType&lt;T, U&gt; = ...
  
  KeyOfType&lt;{a: 1, b: '', c: 0, d: () =&gt; 1}, number&gt; === 'a' | 'c'
  
  KeyOfType&lt;{a: 1, b: '', c: 0: d: () =&gt; 1}, string&gt; === 'b'
  
  KeyOfType&lt;{a: 1, b: '', c: 0: d: () =&gt; 1}, Function&gt; === 'd'
  </code></pre>
  
  <p>Is this possible?</p>