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.