   ### Attention: unbound async + take
 
   If you want to potentially process a high number of items and keep only
-  part of the results, it may be undesirable to process all of them at the
-  same time. Let's see an example:
+  part of the results, you may end-up processing more items than desired.
+  Let's see an example:
 
       1..100
       |> Task.async_stream(fn i ->

  be controlled via options (see the "Options" section below).

  Consider using `Task.Supervisor.async_stream/6` to start tasks
  under a supervisor. If you find yourself trapping exits to handle exits
  inside the async stream, consider using `Task.Supervisor.async_stream_nolink/6`
  to start tasks that are not linked to the calling process.

  ## Options



    * `:on_timeout` - what to do when a task times out. The possible
      values are:
      * `:exit` (default) - the caller (the process that spawned the tasks) exits.
      * `:kill_task` - the task that timed out is killed. The value
        emitted for that task is `{:exit, :timeout}`.

