Fix #21954 by unconditionally retaining tag info on variables used in function position.
Fixes #21954 (closed). For an expression like:
case x of y
Con z -> z
We currently only retain tag infor for x
as it's known to be scrutinized. But we should also retain it for z
since a rhs of just a variable implicitly represents eval+return. So retaining the tag info can sometimes avoid the eval step.
This patch makes it so.