W/W should transform such a function into one who takes one less
argument removing any runtime overhead at least for fully applied functions.
I suppose your suggestion is then if we an expression`f x` where bar
takes multiple arguments, but doesn't use the current argument then GHC
should:
* Ins
Suppose `f` doesn't use its first argument. When forming the thunk (or
partial application) `f a`, we don't need to record `a`. What if instead of
arity, we store a bitmap used/absent arguments, terminated by a 1 bit?
Could we then get rid of "stupid thunks" like `(const a) b`?