In this case, I'm sure it's the effect detection that triggers the literalization, but that's not correct. There is no change in effects before and after the parameter is removed, since the unused parameter has no side effects.
This is probably an artifact of how parameter removal is implemented via inlined wrappers.
In CL 557496, we observed that removing an unused parameter resulted in an unnecessary eta abstraction:
From:
To:
In this case, I'm sure it's the effect detection that triggers the literalization, but that's not correct. There is no change in effects before and after the parameter is removed, since the unused parameter has no side effects.
This is probably an artifact of how parameter removal is implemented via inlined wrappers.
CC @adonovan @suzmue