       {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. 
+  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 
+  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

    * `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.
