Julia returns:
julia> c='ı'
'ı': Unicode U+0131 (category Ll: Letter, lowercase)
julia> uppercase(c)
'I': ASCII/Unicode U+0049 (category Lu: Letter, uppercase)
julia> lowercase(uppercase(c))
'i': ASCII/Unicode U+0069 (category Ll: Letter, lowercase)
Is this something that needs changing in the Unicode spec itself or how strings are handled in general by various tools/programming languages? I love [plain] text, but it's so, so fragile. :/