We then tried Flow. Oh dear god, has it been a blessing.
Pros:
* It's seamless to integrate with Webpack, ESLint & Babel.
* It's crazy fast
* Has great support for React
* Fits in perfectly with Redux
* Dead easy for beginners to learn
* Has an amazing Type system. My major experience with types has been Java, and Flowtype just blew my mind with - non-nullable types, subtyping and type refining.
* Documentation is great
* Community is very active
Cons:
* About 1/3rd of the time error messages are not intuitive. But nothing you can not figure out. And it's getting better.