title: Declaring const of generic type
body: <p>Attempting to reduce boilerplate, I'm declaring some sort of generic function interface as a type. Then I want to declare a <code>const</code> of such type. So, why typescript assumes that <code>foo</code> declaration is legit and <code>bar</code> is not? Aren't these declarations practically identical? Is typescript lacking simple feature or am I missing some details? Is there any workarounds, if I do not want explicitly repeat <code>FunctionType</code> interface?</p>
  
  <pre><code>type FunctionType&lt;TValue&gt; = (value: TValue) =&gt; void;
  
  const foo = &lt;TValue&gt;(value: TValue): void =&gt; {
  }
  
  //const bar: FunctionType&lt;TValue&gt; = (value) =&gt; { // Cannot find name 'TValue'
  //}
  </code></pre>