Make JSVal conversions actually fallible.
Address review comments. Fix union conversion result mistakes introduced in refactoring.