This looks really interesting! How is it different from just running flowtype over plain js?
ESInfer is doing it all statically and without additional stuff needed. You can try it out on the playground section at the bottom of the homepage. Would be glad if there is any feedback :)
That's not true of either AFAIK. Annotations help, but it can still catch things without them like:
function x() { return "x"; }
x() - 15; // Cannot perform arithmetic operation because string [1] is not a number.For Flow, that's true only in the most literal sense. Flow has excellent inference and can get a lot done without the user writing any annotations.