       end
     end
 
-    {size, sample} = reduce(collection, {0, sample}, reducer)
+    {size, sample} = reduce(enumerable, {0, sample}, reducer)
     sample |> Tuple.to_list |> take(Kernel.min(count, size))
   end
 


  """
  @spec sort(t) :: list
  def sort(collection) when is_list(collection) do
    :lists.sort(collection)
  end

  def sort(collection) do
    sort(collection, &(&1 <= &2))
  end

  @doc """
  Sorts the collection by the given function.

  This function uses the merge sort algorithm. The given function
  must return `false` if the first argument is less than right one.

  ## Examples


  end

  @doc """
  Returns the size of the enumerable.

  ## Examples

