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.