   end
 
   @doc """
-  Returns a sorted list of collection elements. Uses the merge sort algorithm.
+  Returns a list of collection elements sorted by the given function.
+
+  Uses the merge sort algorithm.
 
   ## Examples
 

  from `pad` if it was passed. If `pad` is passed and does not
  have enough elements to fill the chunk, then the chunk is
  returned anyway with less than `n` elements. If `pad` is not
  passed at all or is nil, then the partial chunk is discarded
  from the result.

  ## Examples

  The reason the accumulator requires a tagged tuple is to allow the
  reducer function to communicate to the underlying enumerable the end
  of enumeration, allowing any open resource to be properly closed. It
  also allows suspension of the enumeration, which is useful when
  interleaving between many enumerables is required (as in zip).

  Finally, `Enumerable.reduce/3` will return another tagged tuple,
  as represented by the `result/0` type.
