@stevengj you said that you didn’t understand the need for CodePoint.
Take a look at the README and the code where I define CodePoint, it is used throughout the package:
CodePoint allows one to have separate code point types for ASCII, Latin1, UCS2 (BMP only Unicode), and UTF32 (full valid Unicode), as well as other types to represent “raw” 1, 2, 4 byte text values, or binary values.
That way optimized code can be generated for things like
I’d rather though that (for now at least)
CodePoint were left out of base, and just have
AbstractChar for now, which would be the supertype of both
Char from Base and my own