Not thinking so much of “blessed” anythings. Instead, thinking of the exchange of (say, a “person”) consisting of a hash-type variable ... which might, say, include a “_personid” element provided by the library and which contains the moniker I spoke of. Basically, you would be shifting data between C structures and hashes ... a lot ... if you pursued my suggestion. Which, I will very freely admit, absolutely might not be the right thing for you to do in your case! (I was wrong once ... lessee, how many years ago was it, now? Or am I wrong about that ...?) ;-)
As far as I know, the dual-value feature is basically there in the name of efficiency, so that you can have '123' and 123 at the same time. But I am not qualified to answer your question about interpreter guarantees or the lack thereof.