Support auto uncurry (add apply<> at each level).

We don't hack user's supplied function, so if you need
::apply after the last ::call, curry more arguments.