title: Can you type check the function signatures in the return value of mapDispatchToProps?
body: <p>I am trying to get the function signature of my action creators validated by flow. The prop existing and being a function is being validated but not the function signature.</p>
  
  <pre><code>function TrainButtonCmpt({createTrain}: {createTrain: (trainName: string) =&gt; void}) {
    const creator = () =&gt; { createTrain('Choo choo') }
    return &lt;button onclick="creator()"&gt;Create Train&lt;/button&gt;
  }
  
  function mapDispatchToProps(dispatch: *) {
    return bindActionCreators({
      createTrain
    },
    dispatch)
  }
  
  function mapStateToProps(state: State) { return {} }
  
  const TrainButton = connect(
    mapStateToProps,
    mapDispatchToProps
  )(TrainButtonCmpt)
  
  export function Test() {
    return &lt;TrainButton /&gt;
  }
  </code></pre>
  
  <p>With the above example removing <code>createTrain</code> from <code>mapDispatchToProps</code> causes the <code>Test</code> component to fail validation as expected. However when the function signature of <code>createTrain</code> doesn't match <code>(trainName: string) =&gt; void</code> it still passes validation.</p>