Binders in STG can be bound to multi-values (stuff represented by multiple
values, e.g. unboxed tuples with more than one non-void arguments) initially but
before codegen those need to be eliminated. The pass that does is "unarise", see
GHC.Stg.Unarise module which has lots of notes explaning
Hello,
Can an STG variable (Id) store a whole unboxed tuple value?
Or is it required to decompose a returned unboxed value immediately by
using an StgCase expression?
If so, then is it correct that the STG variables can store values only from
the following types: Addr, Float, Double, Int, Word,