       iex> tuple = {:bar, :baz}
       iex> Tuple.insert_at(tuple, 0, :foo)
       {:foo, :bar, :baz}
+      iex> Tuple.insert_at(tuple, 2, :bong)
+      {:bar, :baz, :bong}
 
   """
   @spec insert_at(tuple, non_neg_integer, term) :: tuple

  @moduledoc """
  Functions for working with tuples.

  See also 'Kernel.elem/2', 'Kernel.is_tuple/1', 'Kernel.put_elem/3', and 
  'Kernel.tuple_size/1'.
  """

  @doc """

  Converts a tuple to a list.

  Inlined by the compiler.

  ## Examples

      iex> tuple = {:foo, :bar, :baz}
      iex> Tuple.to_list(tuple)
      [:foo, :bar, :baz]

  """
  @spec to_list(tuple) :: list
  def to_list(tuple) do
