 
     # Assert the struct
     assert task.__struct__ == Task
-    assert is_pid task.pid
-    assert is_reference task.ref
+    assert is_pid(task.pid)
+    assert is_reference(task.ref)
 
     # Refute the link
     {:links, links} = Process.info(self(), :links)

    receive do: (:ready -> :ok)
    assert {__MODULE__, :wait_and_send, 2} === :proc_lib.translate_initial_call(task.pid)

    send task.pid, true
    assert task.__struct__ == Task
    assert Task.await(task) == :done
  end

    assert {__MODULE__, fun_name, 0} === :proc_lib.translate_initial_call(task.pid)

    # Run the task
    send(task.pid, true)

    # Assert response and monitoring messages
    ref = task.ref
