This post will be part-commentary, part-resource. My goal is to give you, the reader, a better understanding of how to integrate Flow into your projects and avoid any undocumented pain points.
Flow is centered around a server architecture, which allows for online type checking. So, to start, Flow scans your entire project—or, at least, any files marked with the pragma, as Flow's type checking is opt-in. When you later change a file, Flow can intelligently type check the paths in the code that were affected by this change, rather than rescanning the entire project. This leads to big performance gains.