All the following functions must be called outside Async. They behave as their counterpart in the Pipe module.
pushback writer blocks the current thread until the pipe is empty or closed.
If_closed.targument to specify how to deal with the possibility that the pipe is closed:
Raiseon closed pipe, or
Returna variant indicating whether the pipe is closed.
closed writer blocks the current thread until the pipe is closed.