Improve SpecConstr for evals
As #21763 (closed) showed, we were over-specialising in some cases, when the function involved was doing a simple 'eval', but not taking the value apart, or branching on it.
This MR fixes the problem. See Note [Do not specialise evals]
.