The true horror though is that a lot of these already *have* alternative tokens:http://en.cppreference.com/w/cpp/language/operator_alternative
What is the purpose in all of that? What reason would anyone have to type "<%" or "??<" instead of '{'. This made it into the standard, so there has to be a good reason.
To be able to use character encodings where some or all of these symbols do not exist (such as the German DIN 66003)
Pretty sure this is all legacy stuff thats just kindof still in the language for backwards compatability.