It looks like there is currently a typo in IValue::into_object that causes the IValue to check if it is a number rather than an object before attempting to return itself as an object. This prevents the function from returning successfully when it should be able to.