He probably did not use it in a large project yet.
The benefits drown in the downsides:
- Write types for 3rd party APIs? Fun!
- You are lucky if you find type definitions for 2 out of 10 libs you use.
- The Polymorphic nature of javascript: you WILL add more loc to satisfy the type system.
- It does not replace the need for schemas. You will have to write validators for side-effects anyway and flow/ts will not understand them (yet).
- let and const came into flow not too long ago. Typescript does not have object-spread and is just about to get async funcs in a few weeks/months. So forget about your favorite ES7 feature.
- IDE's - not exciting. atom/nuclide is slow as hell and drove me nuts.
- 90% of all types are string or number.
The only real benefit is IDE auto completion. It did not find any serious errors. Mostly false positives because of polymorphism or incorrect definitions.