   end
 
   test "async_nolink/3", config do
-    task =
-      Task.Supervisor.async_nolink(config[:supervisor], __MODULE__, :wait_and_send, [
-        self(),
-        :done
-      ])
-
+    args = [self(), :done]
+    task = Task.Supervisor.async_nolink(config[:supervisor], __MODULE__, :wait_and_send, args)
     assert Task.Supervisor.children(config[:supervisor]) == [task.pid]
 
     receive do: (:ready -> :ok)

    parent = self()
    fun = fn -> wait_and_send(parent, :done) end
    task = Task.Supervisor.async(config[:supervisor], fun)

    assert Task.Supervisor.children(config[:supervisor]) == [task.pid]

    # Assert the struct

    end

    test "shuts down unused tasks", %{supervisor: supervisor} do
      collection = [0, :infinity, :infinity, :infinity]

      assert supervisor
             |> Task.Supervisor.async_stream(collection, &sleep/1, @opts)
             |> Enum.take(1) == [ok: 0]

      assert Process.info(self(), :links) == {:links, [supervisor]}
    end

    test "shuts down unused tasks without leaking messages", %{supervisor: supervisor} do
      collection = [0, :infinity, :infinity, :infinity]

      assert supervisor
             |> Task.Supervisor.async_stream(collection, &sleep/1, @opts)
             |> Enum.take(1) == [ok: 0]

      refute_received _
