Open
Description
Right now, any distinct constructor (that can't be flattened to an unboxed representation) at the SSA2 level is translated to a unique tag at runtime. Instead, we may combine some constructor tags that don't need to be distinguished from each other. This would reduce executable size, and associated global memory by shrinking the associated tables. It may also enable the GC to share some data of different types that happen to be equal.