[new-env][RFC] Flip order of Flow.unify to reduce number of discrepancies of type incompatibility direction
[new-env][RFC] Flip order of Flow.unify to reduce number of discrepancies of type incompatibility direction

Summary:
We seem to use a lot more `Flow.unify` in the new env than in the old env. (Both `bind` and `init` in the new env goes through `set_env_entry`, which will call `Flow.unify`, while the old env only call unify during bind). Calling unify seems to mess up the order of the use_op sometimes. I changed the order, which makes it more consistent in a lot of places.

This is not exactly an principled fix, but the underlying reason is in `unify` that adds `UnifyFlipped` with can mess up error messages.

Changelog: [internal]

Reviewed By: jbrown215

Differential Revision: D34777221

fbshipit-source-id: 8f65d91223cf6f12d4667e9388fd08281ad683bc

facebook/flow,mroch/flow,mroch/flow,mroch/flow,facebook/flow,facebook/flow,mroch/flow,facebook/flow,facebook/flow,mroch/flow,mroch/flow,mroch/flow,facebook/flow,facebook/flow