You can think of it as "there’s an empty string between every pair of graphemes in a string. There’s also an empty string between the start of the string and the first grapheme, sort of. It also helps with having some properties that hold true for String.split/2. You can learn more about that by looking at this test in StreamData, for example.