Diagnostics for overflow were not being produced for fixed-point
evaluation. This patch refactors a bit of the evaluator and adds
a proper diagnostic for these cases.
Could you also add a few test lines showing this warning doesn't appear for operations where the result is a saturated type?
Added tests for saturating types. Changed the warning group name for consistency.