       next_extend_size(rest, size + unquote(byte_size(codepoint)), :other)
     end
   end
+
   defp next_regional_size(rest, size) do
     next_extend_size(rest, size, :other)
   end

      x when x <= 0x007F -> next_extend_size(rest, 1, :other)
      x when x <= 0x07FF -> next_extend_size(rest, 2, :other)
      x when x <= 0xFFFF -> next_extend_size(rest, 3, :other)
      _                  -> next_extend_size(rest, 4, :other)
    end
  end



  defp next_prepend_size(rest, size) do
    case next_grapheme_size(rest) do
      {more, rest} -> {more + size, rest}
      nil -> {size, rest}
    end
  end
