Modest clean up of pipe_of_body in async backend

There are no apparent semantic changes. However Pipe.close might
be called more in some cases (doens't make a difference).