       iex> String.next_grapheme_size("olá")
       {1, "lá"}
 
+      iex> String.next_grapheme_size("")
+      nil
+
   """
   @spec next_grapheme_size(t) :: {pos_integer, t} | nil
   defdelegate next_grapheme_size(string), to: String.Unicode

  end

  @doc """
  Returns the size of the next grapheme.

  The result is a tuple with the next grapheme size and
  the remainder of the string or `nil` in case the string
  reached its end.



      iex> String.first("եոգլի")
      "ե"

      iex> String.first("")
      nil

  """
  @spec first(t) :: grapheme | nil
