Fix a thinko.
Revert "small refactor in coerce.c"

This reverts commit 15a1e63c0c49208011869365168e5c5b41a4c4cc. The
original was correct. The refactor takes a pointer into the C stack
and keeps hold of it beyond the function returning, which means junk
will be found there in the future.