     * `elem/2` - access a tuple by index
     * `put_elem/3` - insert a value into a tuple by index
     * `tuple_size/1` - get the number of elements in a tuple
-    
+
   Tuples are intended as fixed-size containers for multiple elements.
   To manipulate a collection of elements, use a list instead. `Enum`
   functions do not work on tuples.

      {1, :two, "three"}

  A tuple may contain elements of different types, which are stored
  contiguously in memory. Accessing any element takes constant time, 
  but modifying a tuple, which produces a shallow copy, takes linear time. 
  Tuples are good for reading data while lists are better for traversals.

  Tuples are typically used either when a function has multiple return values
  or for error handling. `File.read/1` returns `{:ok, contents}` if reading 
  the given file is successful, or else `{:error, reason}` such as when 
  the file does not exist.

  The functions in this module that add and remove elements from tuples are

      tuple = {:ok, :example}

      # Avoid
      Tuple.insert_at(tuple, 2, %{})

      # Prefer
      {:ok, atom} = tuple
