What you say makes sense, but makes me wonder why we upgrade NV's to PVNV's, and makes me think maybe we used to trust the cached value... Which makes me wonder if we couldn't change the logic so that when we stringify NV's or PVNV's we check the locale, and /then/ decide to upgrade/trust the cached value. IOW, why are paying a price for a locale switch when there is a decent chance most operations will be under a common locale? Is it expensive to check locale? (I will do some archive digging to see if these answers are in my mailbox, but I thought i would ask anyway).