Arity can decrease with -prof
Something like
f = \p\q.body
x = scc "foo" f (\y.e)
shows f having arity 2, and hence x having arity 1. But when we inline f, we get
x = scc "foo" let p = \x.e in \q.body
and the cheap-and-cheerful arity discovery function (exprArity
) detects arity of 0, not 1. And then !CoreLint complains about the inconsistency of arity and strictness info.
This is unpleasant but not actually a problem.
It shows up in the conc052
test (in the stm package).
Part of #1546 (closed) might be the same problem.