   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 in case
-  interleaving in between many enumerables are required (as in zip).
+  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.

  @typedoc """
  A partially applied reduce function.

  The continuation is the closure returned as result when
  the enumeration is suspended. When invoked, it expects
  a new accumulator and it returns the result.


  end

  @doc """
  Returns the first item in the collection or `nil` if the collection is empty.

  ## Examples

