Unicode supports a lot of characters and languages.
The displayed 'graphemes' are constructed from code points.
Their combination and order is the basis of the resulting grapheme.
Imagine, a simple algorithm that might flip the 'dots' from one place to another during reversal: Noël becomes leöN.
Now consider more complex constructions like the Bengali word ঝিল্লি, which consists of six code points.
As graphemes make the string reversal process a lot more complicated, we made the respective test cases optional.
You can try them out by setting the TEST_GRAPHEMES compiler flag or editing the test file accordingly.