src/vs/workbench/services/extensions/common/rpcProtocol.ts/MessageBuffer/writeMixedArray
class MessageBuffer:	public writeMixedArray(arr: readonly MixedArg[]): void {
		this._buff.writeUInt8(arr.length, this._offset); this._offset += 1;
		for (let i = 0, len = arr.length; i < len; i++) {
			const el = arr[i];
			switch (el.type) {
				case ArgType.String:
					this.writeUInt8(ArgType.String);
					this.writeLongString(el.value);
					break;
				case ArgType.VSBuffer:
					this.writeUInt8(ArgType.VSBuffer);
					this.writeVSBuffer(el.value);
					break;
				case ArgType.SerializedObjectWithBuffers:
					this.writeUInt8(ArgType.SerializedObjectWithBuffers);
					this.writeUInt32(el.buffers.length);
					this.writeLongString(el.value);
					for (let i = 0; i < el.buffers.length; ++i) {
						this.writeBuffer(el.buffers[i]);
					}
					break;
				case ArgType.Undefined:
					this.writeUInt8(ArgType.Undefined);
					break;
			}
		}
	}