
| When I looked at it a year ago or so, it was a return of one | constructor in a sum. | Looking at core, you can see several places where a function is called | and that function always returns the same constructor, so the case | analysis of the return value is not needed; it should be returned as | an unboxed tuple instead | I'll see if I can get a simple example to illustrate the problem.
That would be very helpful, thanks. Having a Trac ticket with a small reproducible test case, and a pointer to a larger example that illustrates its importance, would be great. Indeed, it is pervasive, or can you try the effect of performing the transformation by hand, and seeing if it makes a difference?
That doesn't guarantee that I, or anyone else, will get to it, but it makes it much much more likely!
And in the meantime, it documents a possible performance trap for others who might not be able to track down the cause, or even notice that they are shooting themselves in the foot. Claus