Levity should be on the arrow, not on the kind

There is a map that goes the other way, simply unpack the int…

unpack :: Int -> Int#
unpack (I# x) = x

I agree that “strict fields” and “unlifted types” are different, but I wouldn’t equate laziness with types having no strict fields.

1 Like