On Sun, Nov 14, 2021, 2:14 PM Christopher Barker 
It's probably to deal with "é" vs "é", i.e. "\N{LATIN SMALL LETTER
E}\N{COMBINING ACUTE ACCENT}" vs "\N{LATIN SMALL LETTER E WITH ACUTE}",
which are different ways of writing the same thing.

Why does someone that wants to use, .e.g. "é" in an identifier have to be able to represent it two different ways in a code file?

Imagine that two different programmers work with the same code base, and their text editors or keystrokes enter "é" in different ways.

Or imagine just one programmer doing so on two different machines/environments.

As an example, I wrote this reply on my Android tablet (with such-and-such OS version). I have no idea what actual codepoint(s) are entered when I press and hold the "e" key for a couple seconds to pop up character variations.

If I wrote it on OSX, I'd probably press "alt-e e" on my US International key layout. Again, no idea what codepoints actually are entered. If I did it on Linux, I'd use "ctrl-shift u 00e9". In that case, I actually know the codepoint.