A pointer to the end of an [root:Async_stream] that can be used to extend the stream.
extend t v extends the stream, and will raise an exception if t has been
closed.
close_exn t closes t. Subsequent calls to close_exn or extend
will raise an exception.
close_if_open t closes t, if it's not already closed. If t is already
closed, then this is a no-op.