When a channel reader is completed, the remote channel writer doesn't get any feedback on that and may continue writing.
Does it mean there's a deadlock without this, if the writer keeps writing and the reader is no longer reading? Can we fix the deadlock as well, even without the new control code? That would leave the control code as simply an optimization so the writer can quit its work.