Introduce secondary errors in place of explicit application of reasons to `Typing.Reasons_callback.t`
Summary:
This diff replaces explicit use of `Errors.apply_error_from_reasons` in favor of introducing explicit `Typing_error.Secondary.t` errors and `Typing_errors.apply_reasons`. This means that we are able to use the data representation of `Typing_error.t`, rather than the pretty-printed `User_error.t`, and can avoid eagerly evaluation.
Note we are not yet able to remove `Errors.apply_error_from_reason` entirely; this is remedied in a subsequent diff
Reviewed By: CatherineGasnier
Differential Revision:
D33426163
fbshipit-source-id:
d3379d392f5d16bc245054531f6ff2e552122559