Make SpecConstr more aggressive, by neglecting reboxing
SpecConstr was conservative about avoiding reboxing (see Note [Reboxing])
but that meant it lost useful opportunities. This patch makes it much
more aggressive, but at the risk of doing some reboxing.
Actually, the strictness analyser has the same property (it's possible
for it to generate reboxing code, and thus increase allocation), but we
don't worry so much about that. Maybe we should.
Ideally, one would do some more sophisticated analysis that spotted
the reboxing cases without excluding the useful ones.
But meanwhile, let's try this.