 
       Enum.map([1, 2, 3], &1 * 2)
 
-  `Enum.map` invokes `Enumerable.reduce` to perform the reducing operation
+  `Enum.map/2` invokes `Enumerable.reduce/3` to perform the reducing operation
   that builds a mapped list by calling the mapping function `&1 * 2` on every
   element in the collection and cons'ing the element with the accumulated list.
   """

  end

  @doc """
  Returns the first item in the collection or nil otherwise.

  ## Examples



  @doc """
  Returns a list of collection elements shuffled.

  ## Examples

      iex(1)> Enum.shuffle([1, 2, 3])
      [3, 2, 1]
      iex(2)> Enum.shuffle([1, 2, 3])
      [3, 1, 2]

  """
  @spec shuffle(t) :: list
  def shuffle(collection) do
