char vs unsigned char ?  If the underlying type is plain char, why claim it's unsigned when we return it ?