CoreUtils: exprIsHNF should return True for variables of unlifted type
At the moment, exprIsHNF
does not handle unlifted variables differently than lifted variables and returns False
for them (if they aren't DataCons or have arity > 0). But clearly evaluating an unlifted variable will never perform any work.
I noticed this while working on #20111, where I called exprIsHNF
on a variable of type State# RealWorld
.