The learning curve is steep if you are not familiar w/ static typing, and its not unheard of to run into bugs in flow itself, but overall I have found it to be really helpful.<p>In my experience it pays off best in refactors - in projects w/ good flow types I have been able to make big changes to my code, fix flow errors, and then have tests pass on the first run.<p>It's also great when working on code that others wrote - the type annotations are about the same amount of boilerplate as something like jsdoc, but having them checked automatically in my editor saves a lot of context switching between files.