title: python typing signature (typing.Callable) for function with kwargs
body: <p>I heavily use python typing support from python 3.</p>
  
  <p>Recently I was trying to pass a function as an argument and I do not find any help for using <code>kwargs</code> in <code>typing.Callable</code> signature.</p>
  
  <p>Please check the code below and the comments.</p>
  
  <pre class="lang-py prettyprint-override"><code>import typing
  
  # some function with singnature typing
  def fn1_as_arg_with_kwargs(a: int, b: float) -&gt; float:
      return a + b
  
  # some function with singnature typing
  def fn2_as_arg_with_kwargs(a: int, b: float) -&gt; float:
      return a * b
  
  # function that get callables as arg
  # this works with typing
  def function_executor(
          a: int, 
          b: float, 
          fn: typing.Callable[[int, float], float]):
      return fn(a, b)
  
  # But what if I want to name my kwargs 
  # (something like below which does not work)
  # ... this will help me more complex scenarios 
  # ... or am I expecting a lot from python3 ;)
  def function_executor(
          a: int, 
          b: float, 
          fn: typing.Callable[["a": int, "b": float], float]):
      return fn(a=a, b=b)
  </code></pre>