Hm.  Now that I think about it, `coerce_value` probably wouldn't get called after the `return` was hit anyway - I'll do it inline.