 
   In general, the functions in this module rely on the Unicode
   Standard, but do not contain any of the locale specific behaviour.
-
   More information about graphemes can be found in the [Unicode
   Standard Annex #29](https://www.unicode.org/reports/tr29/).
-  The current Elixir version implements Extended Grapheme Cluster
-  algorithm.
 
   For converting a binary to a different encoding and for Unicode
   normalization mechanisms, see Erlang's `:unicode` module.

  responsible to check the validity of the encoding. `String.chunk/2`
  can be used for breaking a string into valid and invalid parts.

  ## Patterns

  Many functions in this module work with patterns. For example,
  `String.split/2` can split a string into multiple strings given

  As we have seen above, code points can be inserted into
  a string by their hexadecimal code:

      iex> "ol\u00E1"
      "olá"

  Finally, to convert a String into a list of integers
  codepoints, usually known as "char lists", you can call
  `Strig.to_charlist`:

      iex> String.to_charlist("olá")
      [111, 108, 225]

  ## Self-synchronization

