A arrow::RecordBatchWriter: the $write()
of x is used. The stream is left open. This uses the streaming format
or the binary file format depending on the type of the writer.
A raw vector: typically of length zero (its data is ignored, and only used for
dispatch). x is serialized using the streaming format, i.e. using the
arrow::RecordBatchStreamWriter