Avoid parameter re-containering when possible.

In sub foo(Int $a) { ... }, we needn't wrap the incoming parameter up
in a scalar container, and instead can decontainerize and bind it. It
is safe since Int !~~ Iterable and Iterable !~~ Int, and thus we know
it doesn't need the container to promise non-flattening.