IfaceAppArgs has inefficient Binary instance
Problem 1: Binary IfaceAppArgs
has it's own Binary instance which is different to [a] instance. It directly writes the linked list to the interface file rather than writing the length of the list followed by the whole list continuously.
In some interface files this leads to 36% of the interface being taken up by these tag bits.
Problem 2: The ForAllTyFlag
is serialised to interface files but is not used in tcIfaceType
.
In some interface files these additional bytes make up 19%
of the entire interface file.