We knew about the tradeoff between backwards compatibility vs adoption since day 1. The end result is not as bad as you make it sound:
Each file in your codebase can be in one of many modes:
php code, hack will ignore it
Requires you to write your code in a subset we consider sane. You can start writing type annotations and they will be checked when present.
Requires you to annotate your function parameters, return types & class properties.
There are a few other modes, like decl, which lets the type checker "import" types.